Merged
Conversation
The MapTxn reuse test only tested for the singleton case. Extend to also test when both previous and new maps are not singletons. Signed-off-by: Jussi Maki <jussi@isovalent.com>
|
Now that txnIDs are the mechanism to detect if a node can be mutated or not we need to bump txnID in when committing to allow MapTxn to keep reusing part.Txn. Rename 'prevTxnID' to 'nextTxnID' and move incrementing the txnID from 'Tree.Txn()' into 'Txn.Commit()'. Signed-off-by: Jussi Maki <jussi@isovalent.com>
eff50b0 to
73f0877
Compare
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The contract for
MapTxn.Commitwas that theMapTxncould be reused for further modifications, e.g.one could keep a single long-living
MapTxnto produce newMapinstances. This was broken by #132 as thetxnIDwas not bumped on commit. The existing test casedid not catch the issue as it was only checking the singleton case where
Iterator()was called that didbump
txnID.Fix the problem by unconditionally bumping
txnIDonMapTxn.Commit.