VIDA-NYU / ache

ACHE is a web crawler for domain-specific search.
http://ache.readthedocs.io
Apache License 2.0
449 stars 135 forks source link

Bump rocksdbjni from 6.25.3 to 7.4.5 #298

Closed dependabot[bot] closed 2 years ago

dependabot[bot] commented 2 years ago

Bumps rocksdbjni from 6.25.3 to 7.4.5.

Release notes

Sourced from rocksdbjni's releases.

RocksDB 7.4.5

7.4.5 (08/02/2022)

Bug Fixes

  • Fix a bug starting in 7.4.0 in which some fsync operations might be skipped in a DB after any DropColumnFamily on that DB, until it is re-opened. This can lead to data loss on power loss. (For custom FileSystem implementations, this could lead to FSDirectory::Fsync or FSDirectory::Close after the first FSDirectory::Close; Also, valgrind could report call to close() with fd=-1.)

RocksDB 7.4.4

7.4.4 (2022-07-19)

Public API changes

  • Removed Customizable support for RateLimiter and removed its CreateFromString() and Type() functions.

Bug Fixes

  • Fix a bug where GenericRateLimiter could revert the bandwidth set dynamically using SetBytesPerSecond() when a user configures a structure enclosing it, e.g., using GetOptionsFromString() to configure an Options that references an existing RateLimiter object.

7.4.3 (2022-07-13)

Behavior Changes

  • For track_and_verify_wals_in_manifest, revert to the original behavior before #10087: syncing of live WAL file is not tracked, and we track only the synced sizes of closed WALs. (PR #10330).

7.4.2 (2022-06-30)

Bug Fixes

  • Fix a bug in Logger where if dbname and db_log_dir are on different filesystems, dbname creation would fail wrt to db_log_dir path returning an error and fails to open the DB.

7.4.1 (2022-06-28)

Bug Fixes

  • Pass rate_limiter_priority through filter block reader functions to FileSystem.

7.4.0 (2022-06-19)

Bug Fixes

  • Fixed a bug in calculating key-value integrity protection for users of in-place memtable updates. In particular, the affected users would be those who configure protection_bytes_per_key > 0 on WriteBatch or WriteOptions, and configure inplace_callback != nullptr.
  • Fixed a bug where a snapshot taken during SST file ingestion would be unstable.
  • Fixed a bug for non-TransactionDB with avoid_flush_during_recovery = true and TransactionDB where in case of crash, min_log_number_to_keep may not change on recovery and persisting a new MANIFEST with advanced log_numbers for some column families, results in "column family inconsistency" error on second recovery. As a solution, RocksDB will persist the new MANIFEST after successfully syncing the new WAL. If a future recovery starts from the new MANIFEST, then it means the new WAL is successfully synced. Due to the sentinel empty write batch at the beginning, kPointInTimeRecovery of WAL is guaranteed to go after this point. If future recovery starts from the old MANIFEST, it means the writing the new MANIFEST failed. We won't have the "SST ahead of WAL" error.
  • Fixed a bug where RocksDB DB::Open() may creates and writes to two new MANIFEST files even before recovery succeeds. Now writes to MANIFEST are persisted only after recovery is successful.
  • Fix a race condition in WAL size tracking which is caused by an unsafe iterator access after container is changed.
  • Fix unprotected concurrent accesses to WritableFileWriter::filesize_ by DB::SyncWAL() and DB::Put() in two write queue mode.
  • Fix a bug in WAL tracking. Before this PR (#10087), calling SyncWAL() on the only WAL file of the db will not log the event in MANIFEST, thus allowing a subsequent DB::Open even if the WAL file is missing or corrupted.
  • Fix a bug that could return wrong results with index_type=kHashSearch and using SetOptions to change the prefix_extractor.
  • Fixed a bug in WAL tracking with wal_compression. WAL compression writes a kSetCompressionType record which is not associated with any sequence number. As result, WalManager::GetSortedWalsOfType() will skip these WALs and not return them to caller, e.g. Checkpoint, Backup, causing the operations to fail.
  • Avoid a crash if the IDENTITY file is accidentally truncated to empty. A new DB ID will be written and generated on Open.
  • Fixed a possible corruption for users of manual_wal_flush and/or FlushWAL(true /* sync */), together with track_and_verify_wals_in_manifest == true. For those users, losing unsynced data (e.g., due to power loss) could make future DB opens fail with a Status::Corruption complaining about missing WAL data.
  • Fixed a bug in WriteBatchInternal::Append() where WAL termination point in write batch was not considered and the function appends an incorrect number of checksums.
  • Fixed a crash bug introduced in 7.3.0 affecting users of MultiGet with kDataBlockBinaryAndHash.
  • Add some fixes in async_io which was doing extra prefetching in shorter scans.

Public API changes

  • Add new API GetUnixTime in Snapshot class which returns the unix time at which Snapshot is taken.
  • Add transaction get_pinned and multi_get to C API.
  • Add two-phase commit support to C API.
  • Add rocksdb_transaction_get_writebatch_wi and rocksdb_transaction_rebuild_from_writebatch to C API.
  • Add rocksdb_options_get_blob_file_starting_level and rocksdb_options_set_blob_file_starting_level to C API.
  • Add blobFileStartingLevel and setBlobFileStartingLevel to Java API.
  • Add SingleDelete for DB in C API

... (truncated)

Changelog

Sourced from rocksdbjni's changelog.

7.4.5 (08/02/2022)

Bug Fixes

  • Fix a bug starting in 7.4.0 in which some fsync operations might be skipped in a DB after any DropColumnFamily on that DB, until it is re-opened. This can lead to data loss on power loss. (For custom FileSystem implementations, this could lead to FSDirectory::Fsync or FSDirectory::Close after the first FSDirectory::Close; Also, valgrind could report call to close() with fd=-1.)

7.4.4 (07/19/2022)

Public API changes

  • Removed Customizable support for RateLimiter and removed its CreateFromString() and Type() functions.

Bug Fixes

  • Fix a bug where GenericRateLimiter could revert the bandwidth set dynamically using SetBytesPerSecond() when a user configures a structure enclosing it, e.g., using GetOptionsFromString() to configure an Options that references an existing RateLimiter object.

7.4.3 (07/13/2022)

Behavior Changes

  • For track_and_verify_wals_in_manifest, revert to the original behavior before #10087: syncing of live WAL file is not tracked, and we track only the synced sizes of closed WALs. (PR #10330).

7.4.2 (06/30/2022)

Bug Fixes

  • Fix a bug in Logger where if dbname and db_log_dir are on different filesystems, dbname creation would fail wrt to db_log_dir path returning an error and fails to open the DB.

7.4.1 (06/28/2022)

Bug Fixes

  • Pass rate_limiter_priority through filter block reader functions to FileSystem.

7.4.0 (06/19/2022)

Bug Fixes

  • Fixed a bug in calculating key-value integrity protection for users of in-place memtable updates. In particular, the affected users would be those who configure protection_bytes_per_key > 0 on WriteBatch or WriteOptions, and configure inplace_callback != nullptr.
  • Fixed a bug where a snapshot taken during SST file ingestion would be unstable.
  • Fixed a bug for non-TransactionDB with avoid_flush_during_recovery = true and TransactionDB where in case of crash, min_log_number_to_keep may not change on recovery and persisting a new MANIFEST with advanced log_numbers for some column families, results in "column family inconsistency" error on second recovery. As a solution, RocksDB will persist the new MANIFEST after successfully syncing the new WAL. If a future recovery starts from the new MANIFEST, then it means the new WAL is successfully synced. Due to the sentinel empty write batch at the beginning, kPointInTimeRecovery of WAL is guaranteed to go after this point. If future recovery starts from the old MANIFEST, it means the writing the new MANIFEST failed. We won't have the "SST ahead of WAL" error.
  • Fixed a bug where RocksDB DB::Open() may creates and writes to two new MANIFEST files even before recovery succeeds. Now writes to MANIFEST are persisted only after recovery is successful.
  • Fix a race condition in WAL size tracking which is caused by an unsafe iterator access after container is changed.
  • Fix unprotected concurrent accesses to WritableFileWriter::filesize_ by DB::SyncWAL() and DB::Put() in two write queue mode.
  • Fix a bug in WAL tracking. Before this PR (#10087), calling SyncWAL() on the only WAL file of the db will not log the event in MANIFEST, thus allowing a subsequent DB::Open even if the WAL file is missing or corrupted.
  • Fix a bug that could return wrong results with index_type=kHashSearch and using SetOptions to change the prefix_extractor.
  • Fixed a bug in WAL tracking with wal_compression. WAL compression writes a kSetCompressionType record which is not associated with any sequence number. As result, WalManager::GetSortedWalsOfType() will skip these WALs and not return them to caller, e.g. Checkpoint, Backup, causing the operations to fail.
  • Avoid a crash if the IDENTITY file is accidentally truncated to empty. A new DB ID will be written and generated on Open.
  • Fixed a possible corruption for users of manual_wal_flush and/or FlushWAL(true /* sync */), together with track_and_verify_wals_in_manifest == true. For those users, losing unsynced data (e.g., due to power loss) could make future DB opens fail with a Status::Corruption complaining about missing WAL data.
  • Fixed a bug in WriteBatchInternal::Append() where WAL termination point in write batch was not considered and the function appends an incorrect number of checksums.
  • Fixed a crash bug introduced in 7.3.0 affecting users of MultiGet with kDataBlockBinaryAndHash.
  • Add some fixes in async_io which was doing extra prefetching in shorter scans.

Public API changes

  • Add new API GetUnixTime in Snapshot class which returns the unix time at which Snapshot is taken.
  • Add transaction get_pinned and multi_get to C API.
  • Add two-phase commit support to C API.
  • Add rocksdb_transaction_get_writebatch_wi and rocksdb_transaction_rebuild_from_writebatch to C API.
  • Add rocksdb_options_get_blob_file_starting_level and rocksdb_options_set_blob_file_starting_level to C API.
  • Add blobFileStartingLevel and setBlobFileStartingLevel to Java API.
  • Add SingleDelete for DB in C API
  • Add User Defined Timestamp in C API.
    • rocksdb_comparator_with_ts_create to create timestamp aware comparator

... (truncated)

Commits
  • e072c12 Update HISTORY and version.h for 7.4.5
  • ed05774 Fix serious FSDirectory use-after-Close bug (missing fsync) (#10460)
  • e656fa3 update HISTORY.md and version.h for 7.4.4
  • 66f369f Make RateLimiter not Customizable (#10378)
  • 050027c Update version
  • 41be9ec Stop tracking syncing live WAL for performance (#10330)
  • 4fd1285 Update version to 7.4.2 and update HISTORY
  • d74333c Fix bug in Logger creation if dbname and db_log_dir are on different filesyst...
  • 57adbf0 Update version to 7.4.1 and update HISTORY
  • 0b8c8cf Pass rate_limiter_priority through filter block reader functions to FS (#10251)
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 2 years ago

Superseded by #303.