Skip to content

feat(change-stream): ExpiryIndex for Sqlite backend - #690

Open
aldy505 wants to merge 1 commit into
aldy505/feat/change-stream/sqlite-garbage-collectorfrom
aldy505/feat/change-stream/expiry-index
Open

aldy505 wants to merge 1 commit into
aldy505/feat/change-stream/sqlite-garbage-collectorfrom
aldy505/feat/change-stream/expiry-index

Conversation

@aldy505

@aldy505 aldy505 commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

We need a way for querying the expired objects. This is it!

We need a way for querying the expired objects. This is it!
@aldy505
aldy505 requested a review from a team as a code owner October 17, 2026 16:02
@codecov

codecov Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.76543% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.48%. Comparing base (81dbdc8) to head (2e5604a).
⚠️ Report is 6 commits behind head on main.

Files with missing lines Patch % Lines
...vice/src/change_stream/garbage_collector_sqlite.rs 98.76% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #690      +/-   ##
==========================================
+ Coverage   91.33%   91.48%   +0.14%     
==========================================
  Files         117      118       +1     
  Lines       24171    24614     +443     
==========================================
+ Hits        22077    22517     +440     
- Misses       2094     2097       +3     
Components Coverage Δ
Rust Backend 94.91% <98.76%> (+0.08%) ⬆️
Rust Client 81.70% <ø> (ø)
Python Client 93.81% <ø> (ø)

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 2e5604a. Configure here.

let mut ids = Vec::new();
for row in rows {
let id = row.clone();
ids.push(ObjectId::from_storage_path(&id).unwrap());

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expired listing panics on bad ids

Medium Severity

list_expired calls ObjectId::from_storage_path and unwraps. One stored path that does not round-trip — an empty key, empty usecase, or a row written outside this code — panics the whole listing instead of returning the Result the method already uses.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2e5604a. Configure here.

@aldy505 aldy505 changed the title aldy505/feat/change stream/expiry index feat(change-stream): ExpiryIndex for Sqlite backend Oct 17, 2026
@aldy505
aldy505 changed the base branch from main to aldy505/feat/change-stream/sqlite-garbage-collector October 17, 2026 16:11
@aldy505
aldy505 added this pull request to stack #691 October 17, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant