[ 
https://issues.apache.org/jira/browse/CASSANDRA-21129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18053798#comment-18053798
 ] 

Abhijeet Dubey edited comment on CASSANDRA-21129 at 1/23/26 6:35 AM:
---------------------------------------------------------------------

Scenario: "Node was working, now it won't start"

With SSTableMetadataDump (this change)

  # Point directly at the data directory
  sstablemetadatadump dump --data-dir /var/lib/cassandra/data --text --all

  What happens:
  1. Finds SSTables in /var/lib/cassandra/data/system/local_metadata_log-/ and 
metadata_snapshots-/
  2. Imports them into an in-memory ColumnFamilyStore (no full node startup)
  3. Reconstructs ClusterMetadata from the actual on-disk data
  4. Displays epochs, schema, directory, tokens, etc.

So, You see the exact state that was persisted to disk before the crash.

---------------------------------------------------------------------------
With PR #4149 (CMSOfflineTool)

  # Requires a dump file that was created BEFORE the node died
  cmsofflinetool describe -f /path/to/previous-dump.dump

  What happens:
  1. Looks for a pre-existing dump file
  2. If no dump exists -> Tool cannot help
  3. If dump exists -> Shows metadata from when the dump was taken (potentially 
stale)


was (Author: JIRAUSER306221):
Scenario: "Node was working, now it won't start"

With SSTableMetadataDump (this change)

  # Point directly at the data directory
  sstablemetadatadump dump --data-dir /var/lib/cassandra/data --text --all

  What happens:
  1. Finds SSTables in /var/lib/cassandra/data/system/local_metadata_log-*/ and 
metadata_snapshots-*/
  2. Imports them into an in-memory ColumnFamilyStore (no full node startup)
  3. Reconstructs ClusterMetadata from the actual on-disk data
  4. Displays epochs, schema, directory, tokens, etc.

So, You see the exact state that was persisted to disk before the crash.

---------------------------------------------------------------------------
With PR #4149 (CMSOfflineTool)

  # Requires a dump file that was created BEFORE the node died
  cmsofflinetool describe -f /path/to/previous-dump.dump

  What happens:
  1. Looks for a pre-existing dump file
  2. If no dump exists -> Tool cannot help
  3. If dump exists -> Shows metadata from when the dump was taken (potentially 
stale)

> Tool to offline-dump the cluster metadata from an instance
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-21129
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21129
>             Project: Apache Cassandra
>          Issue Type: New Feature
>          Components: Transactional Cluster Metadata
>            Reporter: Abhijeet Dubey
>            Assignee: Abhijeet Dubey
>            Priority: Normal
>         Attachments: text-output.txt, to-string-dump-output.txt
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When a Cassandra node fails to start due to Transactional Cluster Metadata 
> (TCM/CEP-21) corruption or issues, operators need a way to inspect the 
> cluster metadata state offline without starting the node. The existing tools 
> (nodetool, cqlsh) require a running node, leaving operators blind when 
> debugging startup failures.
>  
> When a node fails to start due to TCM corruption or inconsistencies, 
> operators have no way to inspect the metadata state without a running node. 
> This tool fills that gap by reading directly from SSTables.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to