Skip to content

[ENH]: Add change stream to collection compaction cursors#6955

Merged
tanujnay112 merged 2 commits intomainfrom
ccc_cdc
Apr 23, 2026
Merged

[ENH]: Add change stream to collection compaction cursors#6955
tanujnay112 merged 2 commits intomainfrom
ccc_cdc

Conversation

@tanujnay112
Copy link
Copy Markdown
Contributor

@tanujnay112 tanujnay112 commented Apr 22, 2026

Description of changes

This is to generate a stream that can meter storage on MCMR databases. Its retention period is set to the maximum possible value.

  • Improvements & Bug fixes
    • ...
  • New functionality
    • ...

Test plan

How are these changes tested?

  • Tests pass locally with pytest for python, yarn test for js, cargo test for rust

Migration plan

Are there any migrations, or any forwards/backwards compatibility changes needed in order to make sure this change deploys reliably?

Observability plan

What is the plan to instrument and monitor this change?

Documentation Changes

Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the _docs section?_

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@tanujnay112 tanujnay112 marked this pull request as ready for review April 22, 2026 20:16
@propel-code-bot
Copy link
Copy Markdown
Contributor

propel-code-bot Bot commented Apr 22, 2026

Add Spanner change stream for collection_compaction_cursors and handle stream cleanup during reset

This PR introduces a new Spanner migration that creates a change stream named mcmr_sysdb_ccc_stream on the collection_compaction_cursors table, with OLD_AND_NEW_VALUES capture and a 7d retention period. The migration manifest in migrations.sum is updated accordingly to include the new migration checksum.

It also updates the Spanner reset flow in rust/rust-sysdb/src/spanner.rs to explicitly discover and drop all change streams from INFORMATION_SCHEMA.CHANGE_STREAMS before dropping indexes and tables. This prevents reset failures due to Spanner DDL dependency rules where referenced tables cannot be dropped while active change streams exist.

This summary was automatically generated by @propel-code-bot

@github-actions
Copy link
Copy Markdown

Reviewer Checklist

Please leverage this checklist to ensure your code review is thorough before approving

Testing, Bugs, Errors, Logs, Documentation

  • Can you think of any use case in which the code does not behave as intended? Have they been tested?
  • Can you think of any inputs or external events that could break the code? Is user input validated and safe? Have they been tested?
  • If appropriate, are there adequate property based tests?
  • If appropriate, are there adequate unit tests?
  • Should any logging, debugging, tracing information be added or removed?
  • Are error messages user-friendly?
  • Have all documentation changes needed been made?
  • Have all non-obvious changes been commented?

System Compatibility

  • Are there any potential impacts on other parts of the system or backward compatibility?
  • Does this change intersect with any items on our roadmap, and if so, is there a plan for fitting them together?

Quality

  • Is this code of a unexpectedly high quality (Readability, Modularity, Intuitiveness)

Copy link
Copy Markdown
Contributor

@propel-code-bot propel-code-bot Bot left a comment

Choose a reason for hiding this comment

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

Review found no issues; migration and reset-flow updates appear correct and low risk.

Status: No Issues Found | Risk: Low

Review Details

📁 3 files reviewed | 💬 0 comments

@tanujnay112 tanujnay112 force-pushed the ccc_cdc branch 4 times, most recently from 736fc55 to 296f3f8 Compare April 22, 2026 23:42
@blacksmith-sh

This comment has been minimized.

@tanujnay112 tanujnay112 enabled auto-merge (squash) April 23, 2026 00:53
@tanujnay112 tanujnay112 merged commit 840b33c into main Apr 23, 2026
64 checks passed
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.

2 participants