Skip to content

[ECO-5461] Implement tombstoning and garbage collection spec#33

Merged
lawrence-forooghian merged 9 commits intomainfrom
ECO-5461-deletions
Aug 12, 2025
Merged

[ECO-5461] Implement tombstoning and garbage collection spec#33
lawrence-forooghian merged 9 commits intomainfrom
ECO-5461-deletions

Conversation

@lawrence-forooghian
Copy link
Collaborator

@lawrence-forooghian lawrence-forooghian commented Jul 23, 2025

Note: This PR is based on top of #45; please review that one first.

Implements ably/specification#350. Have not yet done unit tests; have deferred those to #52, and will instead prioritise porting across the JS integration tests.

Summary by CodeRabbit

  • New Features

    • Added automatic cleanup (garbage collection) of deleted (tombstoned) objects and map entries after a configurable grace period.
    • Objects and map entries now track when they were deleted, improving state management and consistency.
    • Introduced explicit tombstone state and timestamp properties for live counters, maps, and entries.
    • Added support for tombstone-aware operations including object deletion and entry removal.
    • Enabled periodic background garbage collection of tombstoned objects in real-time objects.
  • Bug Fixes

    • Improved handling of deleted objects to prevent unintended operations or data access.
  • Tests

    • Updated tests to reflect new deletion tracking and cleanup logic.
  • Chores

    • Enhanced internal logging for deletion and cleanup events.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants