Berkeley DB Java Edition 1.7.1 Change Log

This is a minor release that includes changes and bug fixes since Release 1.7.0

For additional details, please see the documentation and Release Notes included in your download package or on our website.

Log File On-Disk Format Changes:

New Features:

General Environment Changes:

  1. Fixed a bug that caused LogFileNotFoundException to be reported during log cleaning. This bug did not cause data loss, but the exception would prevent the cleaner from functioning until the environment was closed and re-opened. [#11528]
  2. Made cache management more responsive in multithreaded application cases. [#11552]
  3. Fixed a bug that in rare circumstances could cause a ConcurrentModificationException during a checkpoint. This problem only affected the current checkpoint and did not hamper subsequent checkpoints. [#11555]
  4. Fixed a bug where deleted entries continued to take up memory and disk space when deletions and inserts were occurring together in a write-intensive application. The disk space consumed was small and would eventually be reclaimed by the cleaner. The main impact of the bug was that it make JE's cache administration calculations inaccurate. [#11578]
  5. Reduced cost of Database.openCursor() and SecondaryDatabase construction by removing an expensive debug tracing call. [#11648]
  6. Fixed a performance problem with Database.join when a secondary key refers to many primary records and a minority of those records are selected by the join. [#11661]
  7. Changed latch implementation to notify a single object rather than multiple, resulting in a significant performance improvement for high contention situations. [#11780]
  8. Added a check to SecondaryCursor.delete() to ensure that a non-transactional SecondaryCursor cannot update a transactional database. [#11877]

API Changes:

  1. The je.cleaner.minFilesToDelete property is no longer used and has been deprecated. When a checkpoint is performed, all cleaned files will be deleted. In addition, the following experimental cleaner properties have been removed: je.cleaner.obsoleteAge, je.maxDiskSpace, je.cleaner.maxDiskSpaceTolerance. [#11545]

Utility Changes:

Configuration, Documentation, and Build Changes: