Skip to content

Version 0.4.4

Compare
Choose a tag to compare
@jtnelson jtnelson released this 02 Mar 23:48
· 4092 commits to master since this release
  • Fixed an issue where transactions and atomic operations unnecessarily performed pre-commit locking during read operations, which negatively impacted performance and violated the just-in-time locking protocol (CON-198/CON-199).
  • Added logic to prevent the Buffer from attempting a scan for historical data that is older than any data that is currently within the Buffer (CON-197).
  • Added group sync: an optimization that improves Transaction performance by durably fsyncing committed writes to the Buffer in bulk. Transactions still honor the durability guarantee by taking a full backup prior to acknowledging a successful commit (CON-125).
  • Improved the performance of releasing locks by moving garbage collection of unused locks to a background thread.
  • Improved the performance for upgrading range locks and checking for range conflicts by using collections that shard and sort range tokens.
  • Improved Transaction write performance by using local bloom filters to speed up verifies.
  • Fixed a bug where storage engine methods that touched an entire record (e.g. browse(record) and audit(record)) or an entire key (browse(key)) were not properly locked which potentially made reads inconsistent (CON-239).
  • Fixed an issue where transactions unnecessarily performed double write validation which hurt performance (CON-246).
  • Fixed a major memory leak that occurred when transactions were aborted or failed prior to committing (CON-248).
  • Added logging to indicate if the background indexing job terminates because of an uncaught error (CON-238).
  • Fixed an issue where the background indexing job could be wrongfully terminated because it appeared to be stalled when doing a large amount of work.
  • Fixed a memory-leak issue where Concourse Server did not release resources for abandoned transactions if the client started a transaction and eventually started another one without explicitly committing or aborting the previous one (CON-217).
  • Fixed various issues and performance bottlenecks with syncing storage blocks to disk.
  • Improved the names of several Concourse Server threads.