[CalendarServer-users] Transaction timeout in InboxCleanupWork
Andre LaBranche
dre at apple.com
Thu Feb 4 11:13:17 PST 2016
> On Feb 2, 2016, at 11:22 PM, Kristoffer <kmo at b-one.net> wrote:
>
> When running calendar server 7.0 on a system with many calendar homes, error messages are logged from the worker system:
>
> 2016-02-02 14:18:44+0000 [-] [caldav-1] [-] [txdav.common.datastore.sql#error] Transaction abort too long: PG-TXN<ultimatelyPerform: 4041391 <INBOX_CLEANUP_WORK>>, Statements: 214963, IUDs:
> 0, Statement: insert into JOB (NOT_BEFORE, PRIORITY, WEIGHT, WORK_TYPE) values (%s, %s, %s, %s) returning FAILED, JOB_ID, PAUSE, OVERDUE, ASSIGNED
> 2016-02-02 14:18:44+0000 [-] [caldav-1] [-] [twext.enterprise.jobs.jobitem#error] JobItem: 4041391, WorkItem: 4041374 failed: [Failure instance: Traceback: <class 'twext.enterprise.ienterpri
> se.AlreadyFinishedError'>:
> ...
>
> The problem seems to be that InboxCleanupWork within one single transaction tries to schedule a CleanupOneInboxWork for each calendar home.
>
> Any suggestions for how we can get around this problem?
For now, to stop the errors, you can disable the top-level key InboxCleanup <http://trac.calendarserver.org/browser/CalendarServer/trunk/conf/caldavd-stdconfig.plist#L1055> in your caldavd.plist (add this key and set it to enabled: false). This will turn off the InboxCleanupWork scheduler. As the name suggest, this work deletes old / stale items from user inboxes. It is a relatively new feature, and is not required for correct server operation in the short to medium term. Over the long term, it's a useful element of a data retention policy with the goal of steady-state operation over time, instead of accruing data indefinitely. Other elements to such a policy might include RevisionCleanup <http://trac.calendarserver.org/browser/CalendarServer/trunk/conf/caldavd-stdconfig.plist#L1041> and purging of data for deleted users (both of these behaviors are automatic and enabled by default), and the various 'purge <http://trac.calendarserver.org/browser/CalendarServer/trunk/calendarserver/tools/purge.py>' command line tools that can be run manually:
calendarserver_purge_attachments
calendarserver_purge_principals
calendarserver_purge_events
-dre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-users/attachments/20160204/38f719f0/attachment.html>
More information about the calendarserver-users
mailing list