CASSANDRA-21342: Fix broken Antora xref/anchor targets in cassandra docs

Forward-merge of the trunk fix (commit 32826fe563) to cassandra-5.0.
Restricted to the changes whose broken-target patterns exist on this
branch.

Two trunk commits intentionally omitted:
 - P1 (memtable.adoc retarget): the memtable sections containing the
   broken xref were added on trunk only and do not exist on 5.0.
 - R1 (commands-toc.adoc rewrite): commands-toc.adoc on 5.0 diverges
   from trunk by ~9 lines; the 38-row retarget mapping will be applied
   as a separate follow-up commit on this branch.

 patch by Patrick McFadin; reviewed by TBD for CASSANDRA-21342
This commit is contained in:
Patrick McFadin 2026-05-14 12:13:11 -07:00
parent af6930c986
commit 9733058d1b
23 changed files with 36 additions and 36 deletions

View File

@ -1,7 +1,7 @@
* xref:index.adoc[Main]
** xref:master@_:ROOT:glossary.adoc[Glossary]
** xref:master@_:ROOT:bugs.adoc[How to report bugs]
** xref:master@_:ROOT:contactus.adoc[Contact us]
** xref:master@_:ROOT:community.adoc[Contact us]
** xref:master@_:ROOT:development/index.adoc[Development]
*** xref:master@_:ROOT:development/gettingstarted.adoc[Getting started]
*** xref:master@_:ROOT:development/ide.adoc[Building and IDE integration]

View File

@ -47,7 +47,7 @@ If you would like to contribute to this documentation, you are welcome to do so
== Meta information
* xref:master@_:ROOT:bugs.adoc[Reporting bugs]
* xref:master@_:ROOT:contactus.adoc[Contact us]
* xref:master@_:ROOT:community.adoc[Contact us]
* xref:master@_:ROOT:development/index.adoc[Contributing code]
* xref:master@_:ROOT:docdev/index.adoc[Contributing to the docs]
* xref:master@_:ROOT:community.adoc[Community]

View File

@ -119,7 +119,7 @@
** xref:reference/index.adoc[]
*** xref:reference/cql-commands/commands-toc.adoc[CQL commands]
*** xref:developing/cql/cql_singlefile.html[CQL specification]
*** xref:cassandra:developing/cql/cql_singlefile.adoc[CQL specification]
*** xref:reference/java17.adoc[Java 17]
*** xref:reference/native-protocol.adoc[Native Protocol specification]
*** xref:reference/sai-virtual-table-indexes.adoc[SAI virtual table]

View File

@ -24,7 +24,7 @@ All the `INSERT` and `UPDATE` statements in this batch write to the same partiti
include::cassandra:example$CQL/cyclist_expenses-table.cql[tag=batch_Vera]
----
+
This batching example includes conditional updates combined with using xref:reference:static.adoc[static columns].
This batching example includes conditional updates combined with using xref:cassandra:developing/cql/ddl.adoc#static-column[static columns].
Recall that single partition batches are not logged.
+
[NOTE]

View File

@ -9,7 +9,7 @@ Use the `list` data type to store data that has a possible many-to-many relation
== Prerequisite
* xref:developing/cql/keyspace-check.adoc[Keyspace] must exist
* xref:cassandra:developing/cql/ddl.adoc#create-keyspace-statement[Keyspace] must exist
In the following example, a `list` called `events` stores all the race events on an upcoming calendar.
The table is called `upcoming_calendar`. Each event listed in the `list` will have a `text` data type.

View File

@ -11,7 +11,7 @@ Each element can have an individual time-to-live and expire when the TTL ends.
== Prerequisite
* xref:developing/cql/keyspace-check.adoc[Keyspace] must exist
* xref:cassandra:developing/cql/ddl.adoc#create-keyspace-statement[Keyspace] must exist
In the following example, each team listed in the `map` called `teams` will have a `year` of integer type and a `team name` of text type.
The table is named `cyclist_teams`.

View File

@ -8,7 +8,7 @@ Use the `set` data type to store data that has a many-to-one relationship with a
== Prerequisite
* xref:developing/cql/keyspace-check.adoc[Keyspace] must exist
* xref:cassandra:developing/cql/ddl.adoc#create-keyspace-statement[Keyspace] must exist
In the following example, a `set` called `teams` stores all the teams that a cyclist has been a member of during their career.
The table is `cyclist_career_teams`.

View File

@ -55,7 +55,7 @@ SAI allows only alphanumeric characters and underscores in names.
SAI returns `InvalidRequestException` if you try to define an index on a column name that contains other characters, and does not create the index.
map_name::
Used with xref:cassandra:developing/collections/collection-create.adoc[collections], identifier of the `map_name` specified in `CREATE TABLE` ...
Used with xref:cassandra:developing/cql/collections/collection-create.adoc[collections], identifier of the `map_name` specified in `CREATE TABLE` ...
`map(<map_name>)`.
The regular column syntax applies for collection types `list` and `set`.
@ -119,7 +119,7 @@ Also refer xref:cassandra:developing/cql/indexing/sai/sai-query.adoc[Examine SAI
=== SAI collection map examples with keys, values, and entries
The following examples demonstrate using collection maps of multiple types (`keys`, `values`, `entries`) in SAI indexes.
For related information, see xref:cassandra:developing/collections/collection-create.adoc[Creating collections] and xref:cassandra:developing/collections/map.adoc[Using map type].
For related information, see xref:cassandra:developing/cql/collections/collection-create.adoc[Creating collections] and xref:cassandra:developing/collections/map.adoc[Using map type].
Also refer to the SAI collection examples of type xref:#saiCreateCustomIndexCollectionsListAndSetExamples[list and set] in this topic.
@ -293,7 +293,7 @@ Remember that in CQL queries using SAI indexes, the `CONTAINS` clauses are suppo
These examples demonstrate using collections with the `list` and `set` types in SAI indexes.
For related information, see:
* xref:cassandra:developing/collections/collection-create.adoc[Creating collections]
* xref:cassandra:developing/cql/collections/collection-create.adoc[Creating collections]
* xref:cassandra:developing/collections/list.adoc[Using list type]
* xref:cassandra:developing/collections/set.adoc[Using set type]

View File

@ -90,7 +90,7 @@ To index map keys, use the `KEYS` keyword and map name in nested parentheses:
include::cassandra:example$CQL/sai/cyclist_teams-table.cql[tag=keysidx]
----
To query the table, you can use xref:cassandra:reference/cql-commands/select.adoc#filtering-on-collections[CONTAINS KEY] in `WHERE` clauses.
To query the table, you can use xref:cassandra:developing/cql/dml.adoc#allow-filtering[CONTAINS KEY] in `WHERE` clauses.
[source,language-cql]
----

View File

@ -4,8 +4,8 @@
== Prerequisites
* xref:developing/keyspace-create.adoc[Keyspace created]
* xref:developing/table-create.adoc[Table created]
* xref:cassandra:developing/cql/ddl.adoc#create-keyspace-statement[Keyspace created]
* xref:cassandra:developing/cql/ddl.adoc#create-table-statement[Table created]
include::_2i-create.adoc[leveloffset=+1]

View File

@ -314,7 +314,7 @@ the post filtering on `col2` is carried out on the replicas themselves.
Another case were post-filtering comes into play is when constructing a query that involves more than two SAI indexes.
Refer to this xref:#saiAndQueriesFaq[related FAQ] about `AND` queries.
== Can I create an SAI index based on a xref:reference:static.adoc[static column]?
== Can I create an SAI index based on a xref:cassandra:developing/cql/ddl.adoc#static-column[static column]?
Yes.
For example, consider a `transaction_by_customer` table where you have a primary key `customer_id`, plus static columns to contain each customer's `address`, `phone_number`, and `date_of_birth`.

View File

@ -27,7 +27,7 @@ SAI calculates an estimate of the incremental heap consumption of the new entry.
This estimate counts against the heap usage of the underlying Memtable.
This feature also means that as more columns are indexed on a table, the Memtable flush rate will increase, and the size of flushed SSTables will decrease.
The number of total writes and the estimated heap usage of all live Memtable indexes are exposed as metrics.
See xref:cassandra:developing/cql/indexing/sai/monitoring.adoc#saiMonitorMetrics[SAI metrics].
See xref:cassandra:developing/cql/indexing/sai/operations/monitoring.adoc#saiMonitorMetrics[SAI metrics].
=== Memtable flush
@ -94,7 +94,7 @@ image::sai/saiOnDiskStructureWithOffsets.png[alt=SAI on-disk layout as described
The actual segment flushing process is very similar to a Memtable flush.
However, buffered terms are sorted before they can be written with their postings to their respective type-specific on-disk structures.
At the end of compaction for a given index, a special empty marker file is flagged to indicate success, and the number of segments is recorded in SAI metrics.
See xref:developing:indexing/sai/monitoring.adoc#saiGlobalIndexingMetrics[Global indexing metrics].
See xref:cassandra:developing/cql/indexing/sai/operations/monitoring.adoc#saiGlobalIndexingMetrics[Global indexing metrics].
When the entire compaction task finishes, SAI receives an SSTable List Changed Notification that contains the SSTables added and removed during the transaction.
SSTable Context Manager and Index View Manager are responsible for replacing old SSTable indexes with new ones atomically.

View File

@ -4,8 +4,8 @@
== Prerequisites
* xref:developing/keyspace-create.adoc[Keyspace created]
* xref:developing/table-create.adoc[Table created]
* xref:cassandra:developing/cql/ddl.adoc#create-keyspace-statement[Keyspace created]
* xref:cassandra:developing/cql/ddl.adoc#create-table-statement[Table created]
include::_sai-create.adoc[leveloffset=+1]

View File

@ -167,11 +167,11 @@ used and the role does not exist the statement is a no-op.
DROP ROLE intentionally does not terminate any open user sessions.
Currently connected sessions will remain connected and will retain the
ability to perform any database actions which do not require
xref:cassandra:developing/cql/security.adoc#authorization[authorization].
xref:cassandra:managing/operating/security.adoc#authorization[authorization].
However, if authorization is enabled, xref:cassandra:developing/cql/security.adoc#cql-permissions[permissions] of the dropped role are also revoked,
subject to the xref:cassandra:developing/cql/security.adoc#auth-caching[caching options] configured in xref:cassandra:developing/cql/configuring.adoc#cassandra.yaml[cassandra-yaml] file.
Should a dropped role be subsequently recreated and have new xref:security.adoc#grant-permission-statement[permissions] or
xref:security.adoc#grant-role-statement[roles] granted to it, any client sessions still
subject to the xref:cassandra:managing/operating/security.adoc#auth-caching[caching options] configured in xref:cassandra:managing/configuration/cass_yaml_file.adoc[cassandra-yaml] file.
Should a dropped role be subsequently recreated and have new xref:cassandra:developing/cql/security.adoc#grant-permission-statement[permissions] or
xref:cassandra:developing/cql/security.adoc#grant-role-statement[roles] granted to it, any client sessions still
connected will acquire the newly granted permissions and roles.
====
@ -332,7 +332,7 @@ Existing users can be listed using the `LIST USERS` statement:
include::cassandra:example$BNF/list_users_statement.bnf[]
----
Note that this statement is equivalent to xref:security.adoc#list-roles-statement[LIST ROLES], but only roles with the `LOGIN` privilege are included in the output.
Note that this statement is equivalent to xref:cassandra:developing/cql/security.adoc#list-roles-statement[LIST ROLES], but only roles with the `LOGIN` privilege are included in the output.
== Data Control

View File

@ -281,7 +281,7 @@ xref:cassandra:developing/cql/security.adoc#operation-roles[`CassandraRoleManage
See also: `setting-credentials-for-internal-authentication`,
xref:cassandra:developing/cql/security.adoc#create-role[`CREATE ROLE`],
xref:cassandra:developing/cql/security.adoc#alter-role[`ALTER ROLE`],
xref:xref:cassandra:developing/cql/security.adoc#alter-keyspace[`ALTER KEYSPACE`] and
xref:cassandra:developing/cql/ddl.adoc#alter-keyspace-statement[`ALTER KEYSPACE`] and
xref:cassandra:developing/cql/security.adoc#grant-permission[`GRANT PERMISSION`].
== Authorization

View File

@ -204,7 +204,7 @@ Enclose a text property value in single quotation marks.
[[alter-compression]]
=== Modifying compression and compaction
Use a property map to alter the xref:cassandra:comments-table.adoc[comments] table's compression or compaction setting:
Use a property map to alter the comments table's compression or compaction setting:
[source,language-cql]
----
@ -223,7 +223,7 @@ For strategies to minimize this disruption, see http://blog.alteroot.org/article
=== Changing caching
Set the number of rows per partition to store in the row cache for the xref:cassandra:comments-table.adoc[comments] table to 10 rows:
Set the number of rows per partition to store in the row cache for the comments table to 10 rows:
[source,language-cql]
----

View File

@ -250,7 +250,7 @@ Assume a cyclist table contains this map data where `nation` is the map key and
----
To index map keys, use the `KEYS` keyword and map name in nested parentheses in the CREATE INDEX statement.
To run a `SELECT` query on the table, use xref:cassandra:reference/cql-commands/select.adoc#filtering-on-collections[CONTAINS KEY] in `WHERE` clauses.
To run a `SELECT` query on the table, use xref:cassandra:developing/cql/dml.adoc#allow-filtering[CONTAINS KEY] in `WHERE` clauses.
This query returns cyclist teams that have an entry for the year 2015.
[tabs]

View File

@ -46,9 +46,9 @@ Create the `race_winners` table that has a frozen user-defined type (UDT):
include::cassandra:example$CQL/race_winners-table.cql[tag=usetype]
----
See xref:developing/user-defined-type-create.adoc[Create a user-defined type] for information on Create UDTs.
See xref:cassandra:developing/cql/types.adoc#udts[Create a user-defined type] for information on Create UDTs.
UDTs can be created unfrozen if only non-collection fields are used in the user-defined type creation.
If the table is created with an unfrozen UDT, then xref:developing/inserting/insert-user-defined-type.adoc[individual field values can be updated and deleted].
If the table is created with an unfrozen UDT, then xref:cassandra:developing/cql/dml.adoc#update-statement[individual field values can be updated and deleted].
== Create a table with a CDC log

View File

@ -1,7 +1,7 @@
= Reference
* xref:reference/cql-commands/commands-toc.adoc[CQL commands]
* xref:developing/cql/cql_singlefile.html[CQL specification]
* xref:cassandra:developing/cql/cql_singlefile.adoc[CQL specification]
* xref:reference/java17.adoc[Java 17]
* xref:reference/native-protocol.adoc[Native Protocol specification]
* xref:reference/sai-virtual-table-indexes.adoc[SAI virtual table]

View File

@ -108,7 +108,7 @@ Default: `32`
The compaction class `SizeTieredCompactionStrategy` (STCS) triggers a minor compaction when table meets the `min_threshold`.
Minor compactions do not involve all the tables in a keyspace.
See
xref:operating/compaction/stcs.adoc#stcs_options[SizeTieredCompactionStrategy (STCS)].
xref:cassandra:managing/operating/compaction/stcs.adoc#stcs_options[SizeTieredCompactionStrategy (STCS)].
[NOTE]
====
@ -151,7 +151,7 @@ Default: `50` (MB)
[NOTE]
====
The `cold_reads_to_omit` property for
xref:operating/compaction/stcs.adoc#stcs_options[SizeTieredCompactionStrategy (STCS)] is no longer supported.
xref:cassandra:managing/operating/compaction/stcs.adoc#stcs_options[SizeTieredCompactionStrategy (STCS)] is no longer supported.
====
[[TWCS]]

View File

@ -17,7 +17,7 @@ Use a unique name for each column in a table.
To preserve case or use special characters, enclose the name in double-quotes.
cql_type_definition ::
Defines the type of data allowed in the column.
See xref:reference:data-types.adoc[CQL data type] or a xref:reference:user-defined-type.adoc[user-defined type].
See xref:cassandra:developing/cql/types.adoc#native-types[CQL data type] or a xref:cassandra:developing/cql/types.adoc#udts[user-defined type].
*STATIC* ::
Optional, the column has a single value.
*PRIMARY KEY* ::

View File

@ -17,7 +17,7 @@ Use a unique name for each column in a table.
To preserve case or use special characters, enclose the name in double-quotes.
cql_type_definition ::
Defines the type of data allowed in the column.
See xref:reference:data-types.adoc[CQL data type] or a xref:reference:user-defined-type.adoc[user-defined type].
See xref:cassandra:developing/cql/types.adoc#native-types[CQL data type] or a xref:cassandra:developing/cql/types.adoc#udts[user-defined type].
*STATIC* ::
Optional, the column has a single value.
*PRIMARY KEY* ::

View File

@ -96,8 +96,8 @@ However, if you lower the `gc_grace_seconds` value, consider its interaction wit
* *hint replays*: When a node goes down and then comes back up, other nodes replay the write operations (called xref:managing/operating/hints.adoc[hints]) that are queued for that node while it was unresponsive.
The database does not replay hints older than gc_grace_seconds after creation.
The xref:managing/configuration/configuration/cass_yaml_file.adoc#max_hint_window[max_hint_window] setting in the
xref:managing/configuration/configuration/cass_yaml_file.adoc[cassandra.yaml] file sets the time limit (3 hours by default) for collecting hints for the unresponsive node.
The xref:cassandra:managing/configuration/cass_yaml_file.adoc#max_hint_window[max_hint_window] setting in the
xref:cassandra:managing/configuration/cass_yaml_file.adoc[cassandra.yaml] file sets the time limit (3 hours by default) for collecting hints for the unresponsive node.
* *batch replays*: Like hint queues, xref:developing/cql/ddl.adoc#batch_statement[batch operations] store database mutations that are replayed in sequence.
As with hints, the database does not replay a batched mutation older than gc_grace_seconds after creation.