Merge lp:~pbeaman/akiban-persistit/fix-hard-commit-infinite-loop-2 into lp:akiban-persistit
Proposed by
Peter Beaman
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Nathan Williams | ||||
Approved revision: | 355 | ||||
Merged at revision: | 354 | ||||
Proposed branch: | lp:~pbeaman/akiban-persistit/fix-hard-commit-infinite-loop-2 | ||||
Merge into: | lp:akiban-persistit | ||||
Diff against target: |
137 lines (+25/-15) 4 files modified
src/main/java/com/persistit/JournalManager.java (+7/-1) src/main/java/com/persistit/Transaction.java (+14/-10) src/test/java/com/persistit/JournalManagerTest.java (+1/-1) src/test/java/com/persistit/stress/unit/CommitBench.java (+3/-3) |
||||
To merge this branch: | bzr merge lp:~pbeaman/akiban-persistit/fix-hard-commit-infinite-loop-2 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Nathan Williams | Approve | ||
Review via email: mp+119647@code.launchpad.net |
Description of the change
This is a better fix for bug 1036422 CommitPolicy HARD can soak CPU. The previous version delayed transaction commit unnecessarily and resulted in slower update and delete atomics. This code results in a significant improvement. A separate report will detail the benchmark differences.
The key elements in this proposal are (a) don't call waitForDurability() at all in a read-only transaction, and (b) use the Lock in waitDurability rather than a fixed-length sleep to wake up immediately after an I/O that completes in less than 1ms.
To post a comment you must log in.
Makes sense.