Accumulator snapshot has inconsistent step policy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Akiban Persistit |
Fix Released
|
High
|
Nathan Williams |
Bug Description
Persistit r337
The stated behavior of steps on the Transaction class is:
When reading data, modifications created by the current transaction are visible to Persistit if and only if the step number they were assigned is less or equal to the Transaction's current step number.
The stated behavior on the Accumulator#
The value computed by accumulating values contributed by (a) all transactions having commit timestamps less than or equal to timestamp, and (b) all operations performed by the current transaction having step numbers less than step.
Both are implemented as described but are inconsistent. The former is the desired behavior (specifically adjusted by server request) and the latter was the original behavior.
Related branches
- Peter Beaman: Approve
-
Diff: 328 lines (+189/-17)5 files modifiedsrc/main/java/com/persistit/Accumulator.java (+10/-10)
src/main/java/com/persistit/TransactionIndex.java (+41/-0)
src/main/java/com/persistit/TransactionIndexBucket.java (+1/-1)
src/test/java/com/persistit/AccumulatorTest.java (+129/-1)
src/test/java/com/persistit/unit/ConcurrentUtil.java (+8/-5)
visibility: | private → public |
Changed in akiban-persistit: | |
status: | In Progress → Fix Committed |
Changed in akiban-persistit: | |
status: | Fix Committed → Fix Released |