-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Versions of volume data should be created at "transaction" points #6495
Comments
@fm3 Are the This would only help for skeleton tracings, though, since the front-end doesn't really make use of transaction groups for volume tracings. |
The transaction grouping is not currently stored in the db, it is only used to hold back its update groups until the transaction is complete, then they are all inserted into the db. |
Just for the record: We decided to establish a 1:1 relation between transactions and versions (see #7290). That way, we don't need to store additional properties, such as the |
Currently, editing volume data will create new versions where each version consists of at most 32 changed buckets (see
COMPRESSING_BATCH_SIZE
). However, this means that reverting to an older version might very well restore a state where chunk borders are visible since the version was created right in the middle of saving.Ideally, the saving mechanism should use a transaction logic (similar to how it's done for skeletons) so that each version is a consistent tracing state.
An additional benefit of ditching the 32 limit is that we reduce the amount of versions being created (one large brush stroke can already cover much more than 32 buckets).
/edit: Another problem caused by this is that version conflicts (e.g., user B saved something while user A was saving larger changes) will result in missing data.
The text was updated successfully, but these errors were encountered: