Calendar crashes syncing with "TransactionTooLargeException"
I am getting an error when syncing my calendar. I found in the logs, that it is the "TransactionTooLargeException". However there seems to be a chaos in the answers with references to posts I can't find.
How do I solve this?
How many entries do you have in your calendar? This exception means that a single transaction (i.e. adding/updating a single calendar entry, or at the end of the sync the cleanup where all calendar entry file names are retained) was too large for the calendar provider (for the IPC to the calendar provider, to be exact).
How many entries does your calendar have?
Do you use entries with unusually big data, for instance thousands of attendees?
it is my regular calendar, of course there are numerous entries. How do I find out how many entries are in there? (I don't think it is the # of participants)
Which server do you use? Often, you can view the number of entries there.
My calendar has hundreds of items at the moment, and there's no problem. Maybe you can try to create a new calendar and see whether it happens with that calendar, too.
Are there any items synchronized?
I am using baikal. Travelling right now, so sadly no access to it. So the # has to wait for the weekend.
I have multiple calendars and it synced before all nicely, however suddenly I got the error.
Before the error he also gives the .ics ID, but to find that event I will need the server access as well.
Ok, so maybe it's indeed related to a single entry. Can you post the logs (maybe as a gist/snippet)? The stack trace in there could be helpful.
Otherwise, we'd have until you have access again, I guess.
Can you check https://gist.github.com/anonymous/078fcb54e97c400dda92
Is this enough?
It's at this line:
09-01 22:40:09.882 E/davdroid.DavSyncAdapter(7327): at at.bitfire.davdroid.resource.LocalCalendar.deleteAllExceptRemoteNames(LocalCalendar.java:268)
So it means there are really too many entries in this calendar. I'm quite surprised because I haven't seen that yet. Given the limit is 1 MB and a file name is about 30 characthers, that would mean there are ~ 30000 calendar entries which seems quite much for me.
Can you confirm that you have that many entries?
It's planned to provide a feature that synchronizes only events in a certain time interval (+/- n days from now), which will reduce the number of events. Until then, I recommend to create a new calendar with less entries or clean up (archive/delete) old events.
BTW, this is the same problem as https://forums.bitfire.at/topic/416/transactiontoolargeexception-when-removing-non-dirty-resources-that-are-not-present-remotely-anymore. Please follow up there.
This should have been fixed with DAVdroid 0.9.