MapDb 3.0.8. StoreWAL and StoreDirect do not releaseRecid if oldSize == NULL_RECORD_SIZE, thus preallocating and deleting a recid (without ever writing a value to it) will cause the recid not to be reused.
Compare:
long r1 = store.preallocate();
store.update(r1, 1, Serializer.INTEGER);
store.delete(r1, Serializer.INTEGER);
long r2 = store.preallocate();
with:
long r1 = store.preallocate();
store.delete(r1, Serializer.INTEGER);
long r2 = store.preallocate();
In the first case r1==r2, but the second one results in r1!=r2
MapDb 3.0.8. StoreWAL and StoreDirect do not
releaseRecid
ifoldSize == NULL_RECORD_SIZE
, thus preallocating and deleting a recid (without ever writing a value to it) will cause the recid not to be reused.Compare:
with:
In the first case
r1==r2
, but the second one results inr1!=r2