Discussion:
[horde] CalDAV access slow?
Guenter Bartsch
2014-03-08 00:37:19 UTC
Permalink
Hi Everyone,

we noticed that thunderbird access to calenders via lightning/caldav
seems a bit slow. e.g. adding an appointment will work, but the added
appointment (in a shared caldav calendar) will appear only after a
30s-90s delay. the effect seems to get worse the more appointment a
calendar contains.

we tried to investigate the problem using cadaver, accessing the
caldav url. turns out access is slow here as well with a single
appointment and will even run into a timeout when that single
appointment is simply set to repeat weekly 40 times:

$ cadaver https://mail.example.com/horde/rpc.php/calendars/m.d/calendar:woCWZdRXnCARUvK1jQNkPg7/
Authentication required for Horde DAV Server on server `mail.example.com':
Username: m.d
Password:
dav:/horde/rpc.php/calendars/m.d/calendar:woCWZdRXnCARUvK1jQNkPg7/> ls
Listing collection
`/horde/rpc.php/calendars/m.d/calendar:woCWZdRXnCARUvK1jQNkPg7/':
connection timed out.
dav:/horde/rpc.php/calendars/m.d/calendar:woCWZdRXnCARUvK1jQNkPg7/>

has anyone else seen this behavior? is this normal (i.e. caldav not
supposed to work when accessed using cadaver)? is this a bug? anything
we could do to fix this?

thanks,

guenter
Robert Schetterer
2014-03-08 08:03:22 UTC
Permalink
Post by Guenter Bartsch
Hi Everyone,
we noticed that thunderbird access to calenders via lightning/caldav
seems a bit slow. e.g. adding an appointment will work, but the added
appointment (in a shared caldav calendar) will appear only after a
30s-90s delay. the effect seems to get worse the more appointment a
calendar contains.
we tried to investigate the problem using cadaver, accessing the
caldav url. turns out access is slow here as well with a single
appointment and will even run into a timeout when that single
$ cadaver https://mail.example.com/horde/rpc.php/calendars/m.d/calendar:woCWZdRXnCARUvK1jQNkPg7/
Username: m.d
dav:/horde/rpc.php/calendars/m.d/calendar:woCWZdRXnCARUvK1jQNkPg7/> ls
Listing collection
connection timed out.
dav:/horde/rpc.php/calendars/m.d/calendar:woCWZdRXnCARUvK1jQNkPg7/>
has anyone else seen this behavior? is this normal (i.e. caldav not
supposed to work when accessed using cadaver)? is this a bug? anything
we could do to fix this?
thanks,
guenter
hope youre getting the last stable lightning version 2.6.4, cal and
webdav sync chunked where broken in 2.6.3, resulting in many problems
no idea about cadaver testing



Best Regards
MfG Robert Schetterer
--
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64
Franziskanerstra?e 15, 81669 M?nchen

Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263
Vorstand: Patrick Ben Koetter, Marc Schiffbauer
Aufsichtsratsvorsitzender: Florian Kirstein
Guenter Bartsch
2014-03-08 09:40:06 UTC
Permalink
Robert,

thanks for the quick reply
Post by Robert Schetterer
hope youre getting the last stable lightning version 2.6.4, cal and
webdav sync chunked where broken in 2.6.3, resulting in many problems
we're using lightning 2.6.4 which works very well - but slow when
using our horde caldav server. I am pretty sure this is either a
problem with our horde setup or horde itself
Post by Robert Schetterer
no idea about cadaver testing
I can report that the same experiment with other caldav servers, e.g.
open-xchange, works without any problems/delays

thanks,

guenter
Robert Schetterer
2014-03-08 10:50:44 UTC
Permalink
Post by Guenter Bartsch
Robert,
thanks for the quick reply
Post by Robert Schetterer
hope youre getting the last stable lightning version 2.6.4, cal and
webdav sync chunked where broken in 2.6.3, resulting in many problems
we're using lightning 2.6.4 which works very well - but slow when
using our horde caldav server. I am pretty sure this is either a
problem with our horde setup or horde itself
i cannot confirm slowness via caldav...horde, however your are right may
have many reasons, do you use offline cache in lightning ?

that might be difficult to debug
Post by Guenter Bartsch
Post by Robert Schetterer
no idea about cadaver testing
I can report that the same experiment with other caldav servers, e.g.
open-xchange, works without any problems/delays
thanks,
guenter
Best Regards
MfG Robert Schetterer
--
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64
Franziskanerstra?e 15, 81669 M?nchen

Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263
Vorstand: Patrick Ben Koetter, Marc Schiffbauer
Aufsichtsratsvorsitzender: Florian Kirstein
Guenter Bartsch
2014-03-08 11:35:07 UTC
Permalink
ok, I have traced and debugged this one a fair bit (still testing
using cadaver, not thunderbird btw) - boils down to horde's attempt to
download timezone data via FTP which our firewall doesn't allow so it
will run into a 1-minute timeout for every appointment object it
touches:

#0 /var/www/horde/pear/php/Horde/Vfs/Ftp.php(159): Horde_Vfs_Ftp->_connect()#012
#1 /var/www/horde/pear/php/Horde/Timezone.php(192):
Horde_Vfs_Ftp->readFile('/tz', 'tzdata-latest.t...')#012
#2 /var/www/horde/pear/php/Horde/Timezone.php(218):
Horde_Timezone->_download()#012
#3 /var/www/horde/pear/php/Horde/Timezone.php(126):
Horde_Timezone->_extractAndParse()#012
#4 /var/www/horde/kronolith/lib/Event.php(675):
Horde_Timezone->getZone('Europe/Berlin')#012
#5 /var/www/horde/kronolith/lib/Application.php(770):
Kronolith_Event->toiCalendar(Object(Horde_Icalendar))#012
#6 [internal function]:
Kronolith_Application->davGetObject('calendar:doJUPv...',
'5ee9ecbf-a74c-4...')#012

this lead to a 'Connection to FTP server failed.' horde exception
which unfortunately is _not_ reported but just ignored. hence I
suggest at least generating some kind of error output here - my first
very crude implementation:

[horde at post horde]$ diff -u kronolith/lib/Event.php.1 kronolith/lib/Event.php
--- kronolith/lib/Event.php.1 2014-03-08 12:27:39.601422428 +0100
+++ kronolith/lib/Event.php 2014-03-08 12:30:01.487229689 +0100
@@ -631,7 +631,6 @@
*/
public function toiCalendar($calendar)
{
-
$vEvent = Horde_Icalendar::newComponent('vevent', $calendar);
$v1 = $calendar->getAttribute('VERSION') == '1.0';
$vEvents = array();
@@ -667,6 +666,9 @@
$vEvents[] = $tz->getZone($this->timezone)->toVtimezone();
$params['TZID'] = $this->timezone;
} catch (Horde_Exception $e) {
+ $logger =
$GLOBALS['injector']->getInstance('Horde_Log_Logger');
+ $logger->info('kronolith/lib/app toiCalendar()
exception: ' . $e->getMessage());
+ $logger->info('kronolith/lib/app toiCalendar()
exception stack: ' . $e->getTraceAsString());
}
}

anyway, I have allowed outgoing FTP on our firewall now which speeds
caldav up significantly, as expected. however, timezone update still
seems to fail:

Mar 8 12:30:04 post HORDE: [kronolith] kronolith/lib/app
toiCalendar() exception: Unable to open VFS file
"/tz/tzdata-latest.tar.gz". [pid 18279 on line 770 of
"/var/www/horde/kronolith/lib/Application.php"]

can anybody shed some light on this? how do horde's timezone updates
work, is there anything I need to configure here?

thanks,

guenter
Robert Schetterer
2014-03-08 11:49:41 UTC
Permalink
Post by Guenter Bartsch
ok, I have traced and debugged this one a fair bit (still testing
using cadaver, not thunderbird btw) - boils down to horde's attempt to
download timezone data via FTP which our firewall doesn't allow so it
will run into a 1-minute timeout for every appointment object it
known bug, see list archive how to fix, get tzdata to local file,
configure horde using it, patch Timezone.php


Best Regards
MfG Robert Schetterer
--
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64
Franziskanerstra?e 15, 81669 M?nchen

Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263
Vorstand: Patrick Ben Koetter, Marc Schiffbauer
Aufsichtsratsvorsitzender: Florian Kirstein
Robert Schetterer
2014-03-08 11:52:20 UTC
Permalink
Post by Robert Schetterer
Post by Guenter Bartsch
ok, I have traced and debugged this one a fair bit (still testing
using cadaver, not thunderbird btw) - boils down to horde's attempt to
download timezone data via FTP which our firewall doesn't allow so it
will run into a 1-minute timeout for every appointment object it
known bug, see list archive how to fix, get tzdata to local file,
configure horde using it, patch Timezone.php
Best Regards
MfG Robert Schetterer
see

http://bugs.horde.org/ticket/12773


Best Regards
MfG Robert Schetterer
--
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64
Franziskanerstra?e 15, 81669 M?nchen

Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263
Vorstand: Patrick Ben Koetter, Marc Schiffbauer
Aufsichtsratsvorsitzender: Florian Kirstein
Loading...