Berkeley DB 2.6.6 Change Log
Berkeley DB version 2.6.6 is version 2.6.5 with all released patches applied.
Bug Fixes:
-
- When looking for an already open log file, do not examine a file name structure if its reference count is 0. This problem cannot cause data corruption, but may cause program failure.
- Berkeley DB recovery assumes that there are at least two checkpoints. It was possible for log archival to leave the recovery area with only a single checkpoint.
- Version 2.6.5 cannot recover version 2.4.14 log files.
- Database file opens after recovery could sometimes fail.
- If only a single checkpoint is found, perform recovery from the beginning of the log.
- The Btree access method delete-by-key code path did not always detect that a key/data pair was also referenced by a cursor, which could cause a cursor to reference incorrect data.
- Concurrent Data Store operations could sometimes fail because write cursors were not correctly identified.
- The DB_SET_RANGE flag did not always correctly deal with on-page deleted records in the Btree access method.
- If the buffer cache was completely dirty, transaction checkpoints could pin down too many buffers and cause other operations to fail.
- In the Btree access method, when creating a new record and specifying a
dbt.off offset value, the DB_DBT_PARTIAL flag was not handled correctly.
- It was possible for the last-known-LSN-on-disk to not be set correctly during recovery, which could cause the loss of recovery's checkpoint record.
- Reclaim lockers when using lock_vec to release locks.
- Re-order subsystem close when closing the environment so that the logging subsystem can potentially flush buffers through the shared memory buffer pool.
- Never attempt to grow the shared regions when initially connecting to the Berkeley DB environment.
Other Changes:
-
- In non-threaded applications, change cursors to share a locker ID in order to avoid self-deadlocks.
- Defend against the possibility that records from multiple log files are present in the log buffer cache.
- Test suite change: generate fail message if environment open doesn't work.
- Update the version numbers from Berkeley DB 2.6.5 to Berkeley DB 2.6.6.