Parent of collection not found -- skipping

Debug ID: D619914232

My Zotero client seems to be unable to sync with the web library. There seems to be a problem with deleted parent collections.

Steps to reproduce:

1. Start Zotero
2. Click sync button

Hovering over sync button shows message "Downloading collections in ". In the debug output log I see the message "Parent of collection not found -- skipping"
  • Sorry, sync button shows message "Downloading collections in (group library name)"
  • I have been trying to synchronize for about 10h in total yesterday and today. Hovering over the sync wheel still shows "Last sync: 13 days ago".
  • You have some massive groups with huge numbers of collections and items. That's fine, but your syncing is being affected by an unrelated performance issue at startup affecting some users with very large databases. A fix will be available in the next Zotero beta within a day or two. (It will likely also dramatically reduce the size of the zotero.sqlite database file in your Zotero data directory, which I'd guess is very large right now.)

    For the moment, go to the Config Editor in the Advanced → Files and Folders section of the Zotero settings, search for extensions.zotero.purge.items, and set it to false, and then restart Zotero. That will hopefully avoid the problem at startup until the next time you empty the trash.

    I'll let you know when the beta is available to test.
  • Thank you very much, that seems to help! In any case, Zotero is now downloading items like crazy. I will gladly test the new beta version as soon as it's available.

    My database file is about 600 MB for four group libraries, two of which with ~100'000 titles.

    One of the large group library has ~75 members, and all of them are experiencing regular performance issues. The upcoming fix gives me hope, although the other users will have to wait for the productive version.
  • OK, if you don't mind, try the latest Zotero beta. Delete any item from the trash (or go back to Config Editor and set extensions.zotero.purge.items to true), and then restart Zotero. It should then perform the cleanup process it was trying to do before, but hopefully much more quickly. Let us know if that works and how big your database file is after.
  • edited 2 days ago
    Ok, I am testing Zotero-7.1-beta.20+b78bf8e24. I started the app and checked the extensions.zotero.purge.items setting - it was set to true. I started debug output logging and waited for 25 min (without syncing), but I can't find log messages referring to the database cleanup action. The database file is still 600+MB.

    Debug ID D1115031645

  • I would give it a while longer, but if that doesn't help, we would need to see a Debug ID from Zotero startup, using the "Restart with Logging Enabled…" option. (Someone else on the beta had their DB reduced from 2.3 GB to 360 MB after the cleanup, but their database profile was very different from yours.)
  • edited 2 days ago
    I left Zotero running and discovered the following lines in the debug output log - is that the database cleanup action? Database file is still 600+MB.

    [unrelated lines removed - D.S.]
  • No, the cleanup started before your debug output. That's why we'd have to see debug output from startup.
  • Restarted with logging enabled.

    Debug ID: D140331497
  • Purged data tables in 5523 ms
    That did the cleanup successfully in 5.5 seconds. If there's still some other problem, it would be unrelated.
  • That sounds great. Only the database file did not shrink at all as far as I can see.

    Synchronization is working like a charm now.
  • Depending on exactly when you created the database, it might not shrink automatically after the cleanup — any freed space would just be reused later. You can try going to Tools → Developer → Run JavaScript and running await Zotero.DB.queryAsync('VACUUM'). That will take a little while and then show ===>undefined<===.

    If your database is the same size after that, that's just the size of your database, which is entirely possible with libraries as big as yours.

    In any case, it sounds like this fixed the original issue.
  • Ok, not sure if this is relevant for you, but for the above command I'm getting the following output:

    Error: Error(s) encountered during statement execution: cannot VACUUM from within a transaction [QUERY: VACUUM] [PARAMS: ] [ERROR: cannot VACUUM from within a transaction]
  • Oh, it won't work if sync is still running. Zotero would have to be idle.
  • That makes sense.

    After running the command, the database file size decreased from 618 to 530 MB.
Sign In or Register to comment.