Handle badchangeset error when printing changeset contents in debug #6921
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What, How & Why?
After the updates from the unify core error handling project, the realm-sync-tests were crashing due to an "unknown instruction type" if debug level trace or higher was enabled. This was due to an exception being thrown by
parse_changeset()
during theSync_BadChangeset
test, which intentionally creates a bad changeset.Updated debug output handling to catch the
BadChangesetError
exception and print a message instead of passing this exception up.Also, fixed the race condition in the
Sync_DetectSchemaMismatch_*
tests that was resulting in therealm::TableNameInUse: The specified table name is already in use
error. This was due to the first session completing sync before the write transaction transaction on the second session was completed. Moved the call tononsync_transact_nofity()
until after both write transactions were completed.Also, updated the ssh connection timeout to 60 secs for scp and ssh operations when starting remote baas, since the startup of the remote baas was sometimes failing out. This was likely due to the original connection timeout of 10 seconds.
☑️ ToDos
[ ] 🚦 Tests (or not relevant)[ ] C-API, if public C++ API changed.