-
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
Transactional saving of volume annotations #7264
Conversation
…rease efficiency of compressing-worker by increasing payload size
…t (by implementing createDebouncedAbortableCallable
@@ -11,5 +11,5 @@ export const UNDO_HISTORY_SIZE = 20; | |||
export const SETTINGS_RETRY_DELAY = 15 * 1000; | |||
export const SETTINGS_MAX_RETRY_COUNT = 20; // 20 * 15s == 5m | |||
|
|||
export const maximumActionCountPerBatch = 5000; | |||
export const maximumActionCountPerSave = 15000; | |||
export const maximumActionCountPerBatch = 20; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
todo: revert
This reverts commit d69a7cf.
…N is the size of the queue at the time the auto-save-interval kicked in
…ix broken segment group test
frontend/javascripts/oxalis/model/bucket_data_handling/data_cube.ts
Outdated
Show resolved
Hide resolved
frontend/javascripts/oxalis/model/bucket_data_handling/pushqueue.ts
Outdated
Show resolved
Hide resolved
frontend/javascripts/oxalis/model/bucket_data_handling/pushqueue.ts
Outdated
Show resolved
Hide resolved
frontend/javascripts/oxalis/model/bucket_data_handling/pushqueue.ts
Outdated
Show resolved
Hide resolved
@normanrz Are you open for reviewing this PR? I'll do some additional testing on a dev instance, but the code is ready for review. It might make sense to have a call about this PR and do a review with 4 eyes, since the code is mission-critical for volume saving. Let me know if/when you have time for that 🤙 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code is a piece of art! Thanks for writing all the descriptive comments. I think I understand what is roughly going on and look forward to the walkthrough.
// That queue is flushed in a debounced manner so that the time of the | ||
// snapshot should be suitable for a transaction (since neither WK nor the | ||
// user edited the buckets in a certain time window). | ||
private pendingQueue: Set<DataBucket>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the queue a Set
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The order of the buckets doesn't matter within a transaction, which is why this is a set. However, the mismatch is obviously still an eye sore. I renamed it to pendingBuckets
now. The class PushQueue
might also be ripe for a new name, but then the PullQueue
loses its "name-sibling" 😅 Also, I'm not sure how to call it. BucketTransactionBundler
? Might be okay to keep the PushQueue as is.
Description:
URL of deployed dev instance (used for testing):
Steps to test:
TODOs:
Issues:
(Please delete unneeded items, merge only when none are left open)