GNOME Bugzilla – Bug 623936
75 second delay when creating new DAV entries in Zimbra
Last modified: 2014-07-09 13:38:39 UTC
Current testing for this bug is using Evolution 2.28 installed from Debian Squeeze on Debian Lenny and running against Zimbra 6.0.7. Every time a new resource is created using DAV (Calendar, Contact), the new item is created immediately but Evolution hands for exactly 75 seconds rather than returning immediately. We have done significant packet tracing and analysis mostly recorded under https://bugzilla.gnome.org/show_bug.cgi?id=604650 The problem is that Zimbra does not close the connection and Evolution does not do its verifying GET of the PUT DAV it just made until after the connection is closed. Zimbra defaults the NGINX connection timeout to 75 seconds. If we set that down to 0, there is no delay. However, Zimbra is behaving as expected. The real problem is with the HTTP header sent by Evolution. Here is the analysis we received from the Zimbra developers: ### This header needs to be set in HTTP request by WebDAV client. > > Connection: close This header tells the server to close connection after handling the current HTTP request. Absent of this header means the server can use keep-alive, which is part of HTTP/1.1 spec. The way they disabled keep-alive was to edit the server configuration. That will work in that configuration, but won't work against other ZCS install, or other servers that support keep-alive. keep-alive is ubiquitous on HTTP servers, so I'm somewhat puzzled as for why they are running into open connection issue with ZCS install only. Perhaps Apple Calendar server does not support keep-alive. But if keep-alive was the issue, they will surely run into this issue again with other servers. ### So it would seem Evolution DAV works better with other solutions more by accident than design and it would behove us to set this Connection disposition in the header properly. Is this as trivial as it sounds? - John
Thanks for a bug report. I'm confirming it with 2.31.5 CalDAV too. Sounds trivial, yup, I'll give it a try.
Created attachment 165738 [details] [review] eds patch for evolution-data-server; As trivial as this :) With this patch the item creation in calendar (and most likely webdav too, but I'm not using it) on a Zimbra server is significantly quicker. Thanks for all the investigation.
Created commit 17941a9 in eds master (2.31.6+) Created commit 42caa8c in eds gnome-2-30 (2.30.3+)
I can confirm this patch is working very nicely against Zimbra 6.0.7. However, when applying against the Debian source for 2.30.2.1, I found I had to remove the hunk at line 757. It seems that function no longer exists.
Right, it's smaller for 2.30.x version, see http://git.gnome.org/browse/evolution-data-server/commit/?h=gnome-2-30&id=42caa8c
*** Bug 618413 has been marked as a duplicate of this bug. ***