Development Task
- cc Refactor storage::kv to reduce abstraction duplication #9480
- cc Engine abstraction tracking issue #6402
This module defines the kv abstraction used within the tikv crate and parts of its test suite. This abstraction is yet different from engine_traits and raft_engine, and leaks details of both, and of rocksdb, and of its own btree_engine and mock_engine.
Many aspects of this module are a barrier to making tikv generic over engines.
Fortunately, this module is almost entirely self contained. I think it should be pulled out into its own crate, which will create a nice concrete abstraction boundary to work within. Then, like with raftstore, we can work toward making it not depend on or export any concrete engine implementation details.