Is Synchronize() transactional by default? #690
Unanswered
menitamoses
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have periodic sync setup between client and server (server pushes changes to client). I have the following options setup
ConflictResolutionPolicy = ConflictResolutionPolicy.ServerWins,
UseBulkOperations = true,
UseVerboseErrors = true,
CleanMetadatas = true,
BatchSize = 30000 //KB
I dont have any Transaction declared wrapping the sync operations. So, my question is 2 fold
What kind of default DB locks does Dotmim enforce when sync starts between server and client? I am assuming it is 'Read Committed' but wanted to verify. If there were active writes in the server DB when sync is in process, will it cause a deadlock? We have a setup where server pushes data to client
Does Synchronize() inherently maintain a transaction scope? Meaning, if there was any exception during sync, does it rollback the whole sync, including all the batches?
We frequently see exceptions:
During any sync cycle and want to know what the appropriate exception handling should be. Will following sync cycle pick up where it left off and resume syncing?
Beta Was this translation helpful? Give feedback.
All reactions