Skip to content

HDDS-13874. Get rid of SnapshotCompactionDag#9678

Open
echonesis wants to merge 6 commits intoapache:masterfrom
echonesis:HDDS-13874-dev-v4
Open

HDDS-13874. Get rid of SnapshotCompactionDag#9678
echonesis wants to merge 6 commits intoapache:masterfrom
echonesis:HDDS-13874-dev-v4

Conversation

@echonesis
Copy link
Contributor

What changes were proposed in this pull request?

This PR refactors the snapshot compaction tracking mechanism by replacing SnapshotCompactionDag with a new flush-based tracking system using FlushLinkedList and related components.

Major changes:

  • Removed: CompactionDag and CompactionNode classes that tracked compaction operations in a DAG structure
  • Added: Flush tracking system:
    • FlushLinkedList: Tracks flush operations in a linked list structure
    • FlushNode: Represents a single flush operation with snapshot generation metadata
    • FlushLogEntry: DAO for writing flush log entries to the flush log table
    • FlushFileInfo: Metadata for flushed SST files

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-13874

How was this patch tested?

GitHub Actions CI: https://github.com/echonesis/ozone/actions/runs/21389340168

@adoroszlai adoroszlai added the snapshot https://issues.apache.org/jira/browse/HDDS-6517 label Jan 27, 2026
@adoroszlai
Copy link
Contributor

@aswinshakil @sadanand48 @smengcl please take a look

Copy link
Member

@peterxcli peterxcli left a comment

Choose a reason for hiding this comment

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

I think we need a design document for this or at least more description and diagram

@aswinshakil
Copy link
Member

This is a major change. As @peterxcli mentioned, We need some design doc to understand and review this change. @echonesis Can you please add them?

@echonesis
Copy link
Contributor Author

Thanks @peterxcli and @aswinshakil for the suggestion!
I agree that a design doc is necessary, and I'm more than willing to draft one.
Could you point me to any templates you recommend?
That would definitely help me get started on the right track.

@aswinshakil
Copy link
Member

You can look at these design PRs for better understanding. These would give you an idea for adding design doc for new feature/changes to existing ones.

@echonesis echonesis marked this pull request as draft February 28, 2026 03:07
@echonesis echonesis marked this pull request as ready for review March 10, 2026 03:42
@echonesis echonesis requested a review from peterxcli March 10, 2026 03:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

snapshot https://issues.apache.org/jira/browse/HDDS-6517

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants