-
-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Describe the bug
The second Send/Receive in the fw-headless sync recently failed with:
Sync failure: System.ApplicationException: The changed data did not pass validation tests. Your project will be moved back to the last Send/Receive before this problem occurred, so that you can keep working. Please notify whoever provides you with computer support. Error was: Validation failed on /var/lib/fw-headless/projects/sena3-fwl-custom-props-recovery-test-dev-flex-00f797ba-7ee5-4bae-9c99-f36d82688e39/fw/Linguistics/Lexicon/Lexicon_07.lexdb Invalid MultiUnicode 'Plural' property of class: LexEntry'052042f8-9181-451d-92f7-599974fd0fec' Reports error: Has non-AUni child element Validation failed on /var/lib/fw-headless/projects/sena3-fwl-custom-props-recovery-test-dev-flex-00f797ba-7ee5-4bae-9c99-f36d82688e39/fw/Linguistics/Lexicon/Lexicon_09.lexdb Invalid MultiUnicode 'Plural' property of class: LexEntry'00f99de8-333b-4c51-a306-a6d54b58723a' Reports error: Has non-AUni child element at Chorus.sync.Synchronizer.Commit(SyncOptions options) at Chorus.sync.Synchronizer.SyncNow(SyncOptions options)
At this point the project-snapshot has be updated under the assumption that those changes have safely been synced to FieldWorks.
But "Your project will be moved back to the last Send/Receive before this problem occurred" indicates that those applied changes are "rolled back". As a result, they'll simply be overwritten in crdt-land on the next sync.
We can't update the project snapshot if this rollback happens or else we think the crdt changes made it in when they actually didn't!
There may be ideas for testing this in:
| _hgRepository.RollbackWorkingDirectoryToRevision((currentRev - 1).ToString()); |