[ 
https://issues.apache.org/jira/browse/CASSANDRA-20649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitry Konstantinov updated CASSANDRA-20649:
--------------------------------------------
    Description: 
org.apache.cassandra.io.sstable.Descriptor#SSTABLE_DIR_PATTERN
{code:java}
static final Pattern SSTABLE_DIR_PATTERN = 
Pattern.compile(".*/(?<keyspace>\\w+)/" +
                                                           
"(?<tableName>\\w+)-(?<tableId>[0-9a-f]{32})/" +
                                                           
"(backups/|snapshots/(?<tag>[\\w-]+)/)?" +
                                                           
"(\\.(?<indexName>[\\w-]+)/)?" +
                                                           
"(?<component>[\\w-\\+]+)\\.(?<ext>[\\w]+)$"); {code}

tag part of the regexp is too limited.
Example:
{code}
2025-05-14 09:42:09,681 Descriptor.java:333 - Could not extract keyspace/table 
info from sstable directory 
/some_directory/cassandra/data/system_schema/views-9786ac1cdd583201a7cdad556410c985/snapshots/1747088279773-upgrade-from-4.1.4-to-5.0.4/nb-1-big-CompressionInfo.db
{code}

it affects retrieval of MBeans like: 
org.apache.cassandra.metrics:*,name=SnapshotsSize - debug log is flooded with 
"Could not extract keyspace/table info from sstable directory" messages
nodetool snapshot command allows any names which does not have file path 
separator.

  was:
org.apache.cassandra.io.sstable.Descriptor#SSTABLE_DIR_PATTERN
{code:java}
static final Pattern SSTABLE_DIR_PATTERN = 
Pattern.compile(".*/(?<keyspace>\\w+)/" +
                                                           
"(?<tableName>\\w+)-(?<tableId>[0-9a-f]{32})/" +
                                                           
"(backups/|snapshots/(?<tag>[\\w-]+)/)?" +
                                                           
"(\\.(?<indexName>[\\w-]+)/)?" +
                                                           
"(?<component>[\\w-\\+]+)\\.(?<ext>[\\w]+)$"); {code}

tag part of the regexp is too limited.
Example:
{code}
2025-05-14 09:42:09,681 Descriptor.java:333 - Could not extract keyspace/table 
info from sstable directory 
/some_directory/cassandra/data/system_schema/views-9786ac1cdd583201a7cdad556410c985/snapshots/1747088279773-upgrade-from-4.1.4-to-5.0.4/nb-1-big-CompressionInfo.db
{code}

it affects retrieval of MBeans like: 
org.apache.cassandra.metrics:*,name=SnapshotsSize - debug log is flooded with 
"Could not extract keyspace/table info from sstable directory" messages


> io.sstable.Descriptor#SSTABLE_DIR_PATTERN does not allow non-word symbols in 
> snapshot names
> -------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-20649
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20649
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: Local/SSTable
>            Reporter: Dmitry Konstantinov
>            Assignee: Dmitry Konstantinov
>            Priority: Low
>             Fix For: 5.0.x, 5.x
>
>
> org.apache.cassandra.io.sstable.Descriptor#SSTABLE_DIR_PATTERN
> {code:java}
> static final Pattern SSTABLE_DIR_PATTERN = 
> Pattern.compile(".*/(?<keyspace>\\w+)/" +
>                                                            
> "(?<tableName>\\w+)-(?<tableId>[0-9a-f]{32})/" +
>                                                            
> "(backups/|snapshots/(?<tag>[\\w-]+)/)?" +
>                                                            
> "(\\.(?<indexName>[\\w-]+)/)?" +
>                                                            
> "(?<component>[\\w-\\+]+)\\.(?<ext>[\\w]+)$"); {code}
> tag part of the regexp is too limited.
> Example:
> {code}
> 2025-05-14 09:42:09,681 Descriptor.java:333 - Could not extract 
> keyspace/table info from sstable directory 
> /some_directory/cassandra/data/system_schema/views-9786ac1cdd583201a7cdad556410c985/snapshots/1747088279773-upgrade-from-4.1.4-to-5.0.4/nb-1-big-CompressionInfo.db
> {code}
> it affects retrieval of MBeans like: 
> org.apache.cassandra.metrics:*,name=SnapshotsSize - debug log is flooded with 
> "Could not extract keyspace/table info from sstable directory" messages
> nodetool snapshot command allows any names which does not have file path 
> separator.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to