Yup, there was an actual bug in the modified version of Buffer. As a consequence, FastIndexTest#testFastIndexRecompute throw an AssertionError. But FastIndexTest was not written defensively to remove buffer claims even in the event of an error, so the tearDown() method, which calls Persistit#close() hung due to inability to claim the page.
Three issues to resolve:
1. New bug in Buffer (rewrite failed to recompute an invalid FastIndex in the getFastIndex() method).
2. FastIndexTest needs try/finally blocks to ensure the buffer gets released.
3. Volume#close() needs to time out if unable to invalidate the volume within a reasonable length of time.
Yup, there was an actual bug in the modified version of Buffer. As a consequence, FastIndexTest# testFastIndexRe compute throw an AssertionError. But FastIndexTest was not written defensively to remove buffer claims even in the event of an error, so the tearDown() method, which calls Persistit#close() hung due to inability to claim the page.
Three issues to resolve:
1. New bug in Buffer (rewrite failed to recompute an invalid FastIndex in the getFastIndex() method).
2. FastIndexTest needs try/finally blocks to ensure the buffer gets released.
3. Volume#close() needs to time out if unable to invalidate the volume within a reasonable length of time.
Adding this changes and resubmitting.