Skip to content

Conversation

@gruzilkin
Copy link
Contributor

fix typo

@gruzilkin gruzilkin changed the title Update types.adoc fix typo Sep 18, 2022
@smiklosovic
Copy link
Contributor

closing as it will be part of #2062

michaeljmarshall pushed a commit to michaeljmarshall/cassandra that referenced this pull request Sep 17, 2025
…pache#1862)

This pull request introduces improvements to the handling of controller
configuration files in the compaction subsystem of Apache Cassandra. The
changes focus on consolidating constants, enhancing file naming logic to
support very long table/keyspace names.

In particular - controller configuration files consists of keyspace and
table names, separated by dot and a fixed suffix. This scheme is
retained as long as the while filename does not exceed 255 chars. If it
does, keyspace and table names are abbreviated and a third component is
added - table id.

In a situation when the keyspace and table names needs to be resolved
from the file name, the code examines the filename whether it has 2 or 3
components (delimited by dots). If 2, follow the legacy pattern, if 3,
ignore keyspace and table names, and read just the table id. Table id is
then used to resolve metadata from schema.

The change is forward compatible because:
- for normal keyspace and table names lengths, the 2 components scheme
is still readable by the new version
- for long keyspace and tables names lengths, the file was not created
at all

The change is backward compatible because:
- for normal keyspace and table names lengths, the 2 components scheme
is retained, thus the old version will still able to resolve it
- for long keyspace and table names lengths, the 3 components schema
will be wrongly resolved and lead to deletion of the controller file as
wrongly resolved keyspace and table names would not be found. This is
compatible with the current behaviour of the old version because in such
a case, the controller config file would not be created at all.
michaelsembwever pushed a commit to thelastpickle/cassandra that referenced this pull request Jan 7, 2026
…pache#1862)

This pull request introduces improvements to the handling of controller
configuration files in the compaction subsystem of Apache Cassandra. The
changes focus on consolidating constants, enhancing file naming logic to
support very long table/keyspace names.

In particular - controller configuration files consists of keyspace and
table names, separated by dot and a fixed suffix. This scheme is
retained as long as the while filename does not exceed 255 chars. If it
does, keyspace and table names are abbreviated and a third component is
added - table id.

In a situation when the keyspace and table names needs to be resolved
from the file name, the code examines the filename whether it has 2 or 3
components (delimited by dots). If 2, follow the legacy pattern, if 3,
ignore keyspace and table names, and read just the table id. Table id is
then used to resolve metadata from schema.

The change is forward compatible because:
- for normal keyspace and table names lengths, the 2 components scheme
is still readable by the new version
- for long keyspace and tables names lengths, the file was not created
at all

The change is backward compatible because:
- for normal keyspace and table names lengths, the 2 components scheme
is retained, thus the old version will still able to resolve it
- for long keyspace and table names lengths, the 3 components schema
will be wrongly resolved and lead to deletion of the controller file as
wrongly resolved keyspace and table names would not be found. This is
compatible with the current behaviour of the old version because in such
a case, the controller config file would not be created at all.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants