rocksdb/include/rocksdb/utilities
Sergei Petrunia c9042db619 Range Locking: add support for escalation barriers (#9290)
Summary:
Range Locking supports Lock Escalation. Lock Escalation is invoked when
lock memory is nearly exhausted and it reduced the amount of memory used
by joining adjacent locks.

Bridging the gap between certain locks has adverse effects. For example,
in MyRocks it is not a good idea to bridge the gap between locks in
different indexes, as that get the lock to cover large portions of
indexes, or even entire indexes.

Resolve this by introducing Escalation Barrier. The escalation process
will call the user-provided barrier callback function:
   bool(const Endpoint& a, const Endpoint& b)

If the function returns true, there's a barrier between a and b and Lock
Escalation will not try to bridge the gap between a and b.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/9290

Reviewed By: akankshamahajan15

Differential Revision: D33486753

Pulled By: riversand963

fbshipit-source-id: f97910b67aba0579ea1d35f523ca6863d3dd018e
2022-01-14 12:46:09 -08:00
..
lua Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
backup_engine.h Some API clarifications (#9080) 2021-11-02 20:30:07 -07:00
backupable_db.h Deprecate obsolete "backupable db" from public APIs (#8274) 2021-05-07 13:53:15 -07:00
cache_dump_load.h Introduce a mechanism to dump out blocks from block cache and re-insert to secondary cache (#8912) 2021-10-07 11:42:31 -07:00
checkpoint.h Add (Live)FileStorageInfo API (#8968) 2021-10-16 10:04:32 -07:00
convenience.h Change RocksDB License 2017-07-15 16:11:23 -07:00
customizable_util.h Make Statistics a Customizable Class (#8637) 2021-09-10 09:47:39 -07:00
db_ttl.h DBWithTTL::Open() param ttls: vector<int32_t> to const vector<int32_t>& (#7196) 2020-08-24 16:24:16 -07:00
debug.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
env_librados.h Fix EnvLibrados and add to CI (#9088) 2021-10-29 08:19:03 -07:00
env_mirror.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
info_log_finder.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
ldb_cmd_execute_result.h Fix and detect headers with missing dependencies (#8893) 2021-09-10 10:00:26 -07:00
ldb_cmd.h Add support for custom file systems to ldb and sst_dump (#8010) 2021-03-09 20:49:15 -08:00
leveldb_options.h Move CompressionType to its own header file (#7162) 2020-08-03 15:49:31 -07:00
memory_util.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
object_registry.h Restore Regex support for ObjectLibrary::Register, rename new APIs to allow old one to be deprecated in the future (#9362) 2022-01-11 06:33:48 -08:00
optimistic_transaction_db.h Allow range deletions in *TransactionDB only when safe (#7929) 2021-02-05 15:57:26 -08:00
option_change_migration.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
options_type.h Make SliceTransform into a Customizable class (#8641) 2021-09-27 07:43:47 -07:00
options_util.h Fix spelling in comments in include/rocksdb/ (#8120) 2021-03-29 05:05:06 -07:00
regex.h Improve support for using regexes (#8740) 2021-09-07 13:05:23 -07:00
replayer.h Allow Replayer to report the results of TraceRecords. (#8657) 2021-08-18 17:06:14 -07:00
sim_cache.h Fix spelling in comments in include/rocksdb/ (#8120) 2021-03-29 05:05:06 -07:00
stackable_db.h Make IncreaseFullHistoryTsLow to a public API (#9221) 2021-12-23 11:03:51 -08:00
table_properties_collectors.h Make WalFilter, SstPartitionerFactory, FileChecksumGenFactory, and TableProperties Customizable (#8638) 2021-09-28 05:32:02 -07:00
transaction_db_mutex.h Fix spelling in comments in include/rocksdb/ (#8120) 2021-03-29 05:05:06 -07:00
transaction_db.h Range Locking: add support for escalation barriers (#9290) 2022-01-14 12:46:09 -08:00
transaction.h Range Locking: Allow different LockManagers, add Range Lock definitions (#7443) 2020-12-07 20:18:07 -08:00
utility_db.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
write_batch_with_index.h Fix spelling in comments in include/rocksdb/ (#8120) 2021-03-29 05:05:06 -07:00