PokIsemaine commented on PR #2332:
URL: https://github.com/apache/kvrocks/pull/2332#issuecomment-2268058840
**Update:**
- Removed `LatestSnapshot` and `GetOptions`, replacing them with `Context`.
- Added `NoTransactionContext` to `Context` along with some encapsulated
APIs to obtain commonly used `ReadOptions`.
- The `Context` uses a guard in its construction, destruction, and
`ResetLatestSnapshot` methods, as a data race issue with the `storage` was
discovered in the replication test cases.
- Cleared all TODOs related to `Context`.
- In `slotmigrator`, the majority of TODOs suggest that `Context` is
unnecessary, as there is already a setting for `slot_snapshot_`, which has low
transaction requirements. Moreover, writing a large amount of data to `context
batch` could severely impact performance.
- In the TODO for the `search` module: It seems that the basic
functionality of the `search` section has been completed, so I attempted to add
`Context`. The main goal was to determine the `Context` during the construction
of `ExecutorContext`, allowing multiple `ExecutorNodes` on the same execution
plan tree to use the same `Context`.
- Added a test for `WriteBatchIndexer`, but encountered issues in CI when
using `Speedb`. I am not familiar with this storage engine and its support
requirements for `kvrocks`. Could someone explain this?

**Review 2:**
- Modified all APIs under `type`.
- Utilized parts of `no_txn_ctx`.
- Made changes to the `search` module.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]