[ 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