dataroaring opened a new pull request, #60586:
URL: https://github.com/apache/doris/pull/60586

   ## Summary
   
   - Add `SET read_uncommitted = true` session variable to enable READ 
UNCOMMITTED isolation level
   - Introduce `UncommittedRowsetRegistry` — a sharded concurrent registry that 
tracks uncommitted rowsets and computes cross-uncommitted delete bitmaps 
asynchronously for MoW (merge-on-write) UNIQUE_KEYS tables
   - Integrate with write path (RowsetBuilder/CloudRowsetBuilder), 
publish/rollback cleanup (TxnManager/CloudTxnDeleteBitmapCache), compaction 
(invalidate + recompute), schema change (clear on non-RUNNING state), and scan 
operator (inject dedup-ready uncommitted rowsets into read sources)
   - Supports both local and cloud modes; DUP_KEYS and UNIQUE_KEYS tables 
(AGG_KEYS excluded)
   
   ## Architecture
   
   Three-layer delete bitmap strategy for MoW correctness:
   1. **Published**: rows deleted across published rowsets (in TabletMeta)
   2. **Committed-vs-published**: rows in published rowsets superseded by 
uncommitted rowset (from commit phase)
   3. **Cross-uncommitted**: rows in earlier uncommitted rowsets superseded by 
later ones (computed async, serial per tablet)
   
   ## Test plan
   
   - [ ] DUP table: uncommitted stream load → `SET read_uncommitted=true` → 
query sees data
   - [ ] MoW UNIQUE table: two uncommitted txns writing same key → only latest 
value visible
   - [ ] Compaction during uncommitted: verify data still visible after re-dedup
   - [ ] Schema change during uncommitted: verify no crash, uncommitted data 
cleaned up
   - [ ] AGG_KEYS table: verify uncommitted data is NOT visible (excluded by 
design)
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to