| Lock | Type | Role |
|---|---|---|
_meta_lock | shared_mutex | Version maps and tablet metadata visibility |
_rowset_update_lock | mutex | Serializes delete bitmap updates (publish / MoW) |
_base_compaction_lock | mutex | Serializes base compaction |
_cumulative_compaction_lock | mutex | Serializes cumulative compaction |
_rs_version_map and _stale_rs_version_map accessed under _meta_lock with correct shared/exclusive mode?_meta_lock?update_delete_bitmap_without_lock() requires both _rowset_update_lock and _meta_lock)_txn_lock → _txn_map_lock?add_rowset() / modify_rowsets() under exclusive _meta_lock?shared_ptr ownership + reader acquire() / release()?StorageEngine::_unused_rowsets deletable only when use_count() == 1?TEMP_VERSION_COMMON and sentinels replaced before bitmap use?_rowset_update_lock?SegmentWriterOptions::enable_unique_key_merge_on_write set to true on every path?