> On Feb 2, 2016, at 11:22 PM, Kristoffer <k...@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
_______________________________________________
calendarserver-users mailing list
calendarserver-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/calendarserver-users

Reply via email to