Integrating changesets failed: operation was cancelled after retrying 14 times

Hi,
I have a web app hosted on Atlas using the seb SDK and an Electron app using the Node SDK.
The Electron app can work offline, it uses Flexible sync.
I’ve recently changed the SYNC settings: I added “Collection Queryable Fields”, after reading the doc it seemed like a good idea.
Everything works fine in my development environment, everything syncs correctly between web and Electron. But in production, it does not sync anymore.
I created a specific version of my app with debug log level, but there is no error.
In the Atlas Logs I can see a few errors like these:

  • OtherSessionError Error: “integrating changesets failed: operation was cancelled after retrying 14 times (ProtocolErrorCode=201)”
  • OtherSessionError Error: ending session with error: integrating changesets failed: failed to start transaction for execution: broker registry failed to start transaction: outdated queryable fields version: input version is 2 but latest is 5 (ProtocolErrorCode=201)

I don’t know how to fix these errors and get sync to work again.
I think I remember from the doc that Terminating sync was necessary after adding “Collection Queryable Fields” so I did do that in dev and production and re-enabled it.

I’m not sure what else I can do… Please help!

Hi, would you mind providing a link to your application in the App Services UI? Also, can you update this with any new findings?

Generally speaking, you can add and remove queryable fields without terminating the application. Please see here for more information: https://www.mongodb.com/docs/atlas/app-services/sync/configure/sync-settings/#consequences-of-adding-or-removing-queryable-fields

The error you shared here

OtherSessionError Error: ending session with error: integrating changesets failed: failed to start transaction for execution: broker registry failed to start transaction: outdated queryable fields version: input version is 2 but latest is 5 (ProtocolErrorCode=201)

This should be transient and the client should disconnect, reconnect, and resume functioning normally.

Best,
Tyler