rocksdb/utilities/transactions/lock
Cheng Chang 0ea7db768e Abstract out LockManager interface (#7532)
Summary:
In order to be able to introduce more locking protocols, we need to abstract out the locking subsystem in TransactionDB into a set of interfaces.

PR https://github.com/facebook/rocksdb/pull/7013 introduces interface `LockTracker`. This PR is a follow up to take the first step to abstract out a `LockManager` interface.

Further modifications to the interface may be needed when introducing the first implementation of range lock. But the idea here is to put the range lock implementation based on range tree under the `utilities/transactions/lock/range/range_tree`.

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

Test Plan: point_lock_manager_test

Reviewed By: ajkr

Differential Revision: D24238731

Pulled By: cheng-chang

fbshipit-source-id: 2a9458cd8b3fb008d9529dbc4d3b28c24631f463
2020-10-19 10:14:42 -07:00
..
point Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00
range/range_tree Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00
lock_manager.cc Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00
lock_manager.h Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00
lock_tracker.h Abstract out LockManager interface (#7532) 2020-10-19 10:14:42 -07:00