This repository has been archived by the owner on Feb 5, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
separate transactions when updating aggregates #741
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8317e44
to
853a722
Compare
653a509
to
d1a1678
Compare
2b02522
to
c0d83a4
Compare
jbearer
approved these changes
Nov 22, 2024
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.
Not sure how or why this helps either, but it looks correct.
Also see comment about a nice optimization this unlocks
jbearer
approved these changes
Nov 25, 2024
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.
LGTM!
@@ -340,9 +341,18 @@ impl<Types: NodeType> UpdateAggregatesStorage<Types> for Transaction<Write> { | |||
"aggregate", | |||
["height", "num_transactions", "payload_size"], | |||
["height"], | |||
rows, | |||
rows.clone(), |
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.
Nit: it is a bit wasteful to clone all the rows here just to grab the last row below. Might make more sense to pull out the updated aggregate first. Doesn't matter much though as the rows are usually small. This is not a blocker
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
I am seeing a lot of database locking errors for sqlite during the update of aggregates. I tried separating the read transaction for the aggregate count from the write transaction, and the locking errors are gone. However, I am not sure why this is happening.