IllegalStateException in Transaction#prepare
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Akiban Persistit |
Fix Released
|
Medium
|
Peter Beaman |
Bug Description
UpdDelAtomics failed with this stack trace:
ERROR [Network-
java.lang.
at com.persistit.
at com.persistit.
at com.persistit.
at com.persistit.
at com.persistit.
at com.persistit.
at com.akiban.
at com.akiban.
at com.akiban.
at com.akiban.
at com.akiban.
at com.akiban.
at com.akiban.
at com.akiban.
at com.akiban.
at com.akiban.
at com.akiban.
at com.akiban.
at java.util.
at java.util.
at java.lang.
Related branches
- Nathan Williams: Approve
-
Diff: 155 lines (+131/-2)2 files modifiedsrc/main/java/com/persistit/JournalManager.java (+2/-2)
src/test/java/com/persistit/Bug1041003Test.java (+129/-0)
visibility: | private → public |
Changed in akiban-persistit: | |
milestone: | none → 3.1.8 |
Changed in akiban-persistit: | |
status: | Confirmed → Fix Committed |
Changed in akiban-persistit: | |
status: | Fix Committed → Fix Released |
I believe the circumstances are that our test automation software deleted the journal files, causing a prior journal I/O operation to fail with an IOException, specifically in the JournalManager# writeTransactio nToJournal method. That exception left the transaction ByteBuffer in a flipped condition; the buffer.clear() method was never called.
In summary, I think this bug requires an extraordinary event (deleting the journal files of the running server), but the consequence also needs to be handled better.