Cassandra: TransactWriteItems writes no stream record
Maintainer thường phản hồi trong vòng 2 ngày
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 68/100
Hướng nghiên cứu
Read crates/storage-cassandra/src/data/transactions.rs and compare its LOGGED BATCH construction with the write helpers used by single-item and batch writes to see how they capture stream records. Add the transaction stream capture for each item mutation, then run a wire test covering transacted Put, Update and Delete on a streamed table across every backend; done means all three produce stream records alongside their item writes.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
On the Cassandra backend a TransactWriteItems Put, Update or Delete on a table with an enabled stream records nothing to the stream. PutItem and BatchWriteItem on the same table record as expected; SQLite records all five shapes.
Measured on a server built from main 744ea291 against a Cassandra 4.1 node: a fresh table with NEW_AND_OLD_IMAGES, one PutItem, one BatchWriteItem Put, one TransactWriteItems with a Put, an Update and a Delete; GetRecords from TRIM_HORIZON on every shard returned the two single-item writes and none of the three transacted ones. On the service a transacted write produces a stream record like any other write.
Cause
crates/storage-cassandra/src/data/transactions.rs has no stream handling: the LOGGED BATCH it builds carries the item mutations only. The single-item and batch paths go through the write helpers that append the stream record to the batch.
Fix shape
Route the transaction's mutations through the same stream capture the single-item path uses, appending one stream record per item mutation to the LOGGED BATCH, so the record and the item land together. A wire test with a transacted Put, Update and Delete on a streamed table, run on every backend.
Found while reviewing #515.
- Ngôn ngữ chính
- Rust
- Star
- 517
- Fork
- 60
- Merge trung bình
- 2 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 25
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ExtendDB/extenddb
-
backend:mongodb bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
Maintainer thường phản hồi trong vòng 2 ngày
-
backend:cassandra bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 2 ngày
-
backend:cassandra bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 2 ngày
-
[storage.cassandra] accepts unknown keys silentlyCó thể đã có người làm @LeeroyHannigan đã nhận 2 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
ExtendDB/extenddb#540 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của ExtendDB/extenddb
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
status:untriaged
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
midnightntwrk/midnight-zk#592 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
QuartoHub: have the Document name before the filename in the browser tabCó thể đã có người làm @cscheid đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
quarto-dev/q2#930 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
muse P3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
HerringtonDarkholme/hd-lang#923 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày