[CalendarServer-users] Connection aborted - took too long to close

Jacques Distler distler at golem.ph.utexas.edu
Fri Feb 6 11:49:55 PST 2015

> On Feb 6, 2015, at 1:28 PM, Andre LaBranche <dre at apple.com> wrote:
> In general, this log message means one of two things:
> 1) We successfully wrote all response data to the client and called socket.close() and that took more than 20 secs to complete
> 2) We timed out the connection because the response took more than 5 mins to generate and when trying to call socket.close() that timed out after 20 secs
> Based on your original description, I'm leaning towards #2. We can try enabling some database logging to see what's happening and how long it's taking. In caldavd.plist, create a LogDatabase dict that looks like this:
>    <key>LogDatabase</key>
>    <dict>
>        <key>TransactionWaitSeconds</key>
>        <integer>30</integer>
>        <key>Statistics</key>
>        <false/>
>    </dict>
> Then HUP or bounce the service. You should now see entries in error.log whenever a running database transaction lasts longer than 30 seconds. If you can link those entries to the requests from your clients with large calendars, that strongly suggests that these requests are now taking long enough that the client gives up.
> While there is a server-side timeout, the client's timeout (if you're using Apple clients) is less than our default, so adjusting our timeout will likely not help.
> Once we can identify what types of transactions are taking too long, maybe we can offer some advice on how to proceed.

As I said in my first message, the problem seems to be with Apple clients. With the above database logging in place, I am still seeing  "Connection aborted - took too long to close:" errors, but no corresponding entries about the database transactions.

On the client side, the errors look like

2/6/15 1:37:43.588 PM CalendarAgent[91270]: [com.apple.calendar.store.log.caldav.queue] [Account refresh failed with error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo=0x7fe5df29be10 {AccountName=Yyyyy Yyyyyy, CalDAVErrFromRefresh=YES, NSUnderlyingError=0x7fe5df2d2ee0 "The network connection was lost.", NSErrorFailingURLKey=https://distler@golem.ph.utexas.edu:8443/calendars/__uids__/E8983642-8809-5ED0-9EDE-60D056E0A81B/, NSLocalizedDescription=The network connection was lost., _kCFStreamErrorDomainKey=4, NSErrorFailingURLStringKey=https://distler@golem.ph.utexas.edu:8443/calendars/__uids__/E8983642-8809-5ED0-9EDE-60D056E0A81B/, _kCFStreamErrorCodeKey=-4}]

Could it be that the CLIENT is the one timing out (rather than the server)?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.macosforge.org/pipermail/calendarserver-users/attachments/20150206/642fe100/attachment.sig>

More information about the calendarserver-users mailing list