CalDAV: "Could not determine free busy information for recipient" since upgrading to Yosemite.
Since upgrading to Yosemite / Server 4.1 (from 10.9.5, Server 3.whatever-the-latest-was), I'm not able to get invitee status or check availability for another calendar user. I'm noticing the following error in error log:
==> error.log <==
2015-04-15 09:39:16+1000 [-] [caldav-1] [-] [txdav.caldav.datastore.scheduling.caldav.delivery#error] Could not determine free busy information for recipient urn:x-uid:E602211C-43E9-4366-8B83-9BE67323EF12
2015-04-15 09:39:16+1000 [-] [caldav-1] [-] [txdav.caldav.datastore.scheduling.scheduler.ScheduleResponseQueue#error] Error during POST for urn:x-uid:E602211C-43E9-4366-8B83-9BE67323EF12: Could not determine free busy information
Regardless, I complete the event with the invitee listed, and on the next calendar refresh, I see this:
==> error.log <==
2015-04-15 09:42:10+1000 [-] [caldav-3] [-] Exception from execute() on first statement in transaction. Possibly caused by a database server restart. Automatically reconnecting now.
2015-04-15 09:42:10+1000 [-] [caldav-3] Traceback (most recent call last):
2015-04-15 09:42:10+1000 [-] [caldav-3] File "/Applications/Server.app/Contents/ServerRoot/Library/CalendarServer/lib/python 2.7/site-packages/twext/internet/threadutils.py", line 48, in _run
2015-04-15 09:42:10+1000 [-] [caldav-3] while self._qpull():
2015-04-15 09:42:10+1000 [-] [caldav-3] File "/Applications/Server.app/Contents/ServerRoot/Library/CalendarServer/lib/python 2.7/site-packages/twext/internet/threadutils.py", line 68, in _qpull
2015-04-15 09:42:10+1000 [-] [caldav-3] self._oneWorkUnit(*work)
2015-04-15 09:42:10+1000 [-] [caldav-3] File "/Applications/Server.app/Contents/ServerRoot/Library/CalendarServer/lib/python 2.7/site-packages/twext/internet/threadutils.py", line 74, in _oneWorkUnit
2015-04-15 09:42:10+1000 [-] [caldav-3] result = instruction()
2015-04-15 09:42:10+1000 [-] [caldav-3] File "/Applications/Server.app/Contents/ServerRoot/Library/CalendarServer/lib/python 2.7/site-packages/twext/enterprise/adbapi2.py", line 312, in <lambda>
2015-04-15 09:42:10+1000 [-] [caldav-3] lambda: self._reallyExecSQL(*args, **kw)
2015-04-15 09:42:10+1000 [-] [caldav-3] --- <exception caught here> ---
2015-04-15 09:42:10+1000 [-] [caldav-3] File "/Applications/Server.app/Contents/ServerRoot/Library/CalendarServer/lib/python 2.7/site-packages/twext/enterprise/adbapi2.py", line 242, in _reallyExecSQL
2015-04-15 09:42:10+1000 [-] [caldav-3] self._cursor.execute(sql, args)
2015-04-15 09:42:10+1000 [-] [caldav-3] File "/Applications/Server.app/Contents/ServerRoot/Library/CalendarServer/lib/python 2.7/site-packages/txdav/base/datastore/dbapiclient.py", line 77, in execute
2015-04-15 09:42:10+1000 [-] [caldav-3] self.realCursor.execute(sql, args)
2015-04-15 09:42:10+1000 [-] [caldav-3] File "/Applications/Server.app/Contents/ServerRoot/Library/CalendarServer/lib/python 2.7/site-packages/pgdb.py", line 323, in execute
2015-04-15 09:42:10+1000 [-] [caldav-3] return self.executemany(operation, [params])
2015-04-15 09:42:10+1000 [-] [caldav-3] File "/Applications/Server.app/Contents/ServerRoot/Library/CalendarServer/lib/python 2.7/site-packages/pgdb.py", line 349, in executemany
2015-04-15 09:42:10+1000 [-] [caldav-3] rows = self._src.execute(sql)
2015-04-15 09:42:10+1000 [-] [caldav-3] pg.ProgrammingError: ERROR: could not obtain lock on row in relation "calendar_object"
2015-04-15 09:42:10+1000 [-] [caldav-3]
2015-04-15 09:42:10+1000 [-] [caldav-3]
If I attempt to view an invitee on iOS, the status icon just spins forever.
P.S. What's the best way to properly format logs like the above here?