[
https://issues.apache.org/jira/browse/CASSANDRA-16878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17403760#comment-17403760
]
Andres de la Peña commented on CASSANDRA-16878:
-----------------------------------------------
The proposed patch uses an {{OpOrder}} to guarantee the ordering of the
replayed mutations:
||PR||CI||
|[3.0|https://github.com/apache/cassandra/pull/1165]|[j8|https://app.circleci.com/pipelines/github/adelapena/cassandra/792/workflows/bfd8ea56-02e7-4280-a60d-ff29a7424b1b]|
|[3.11|https://github.com/apache/cassandra/pull/1166]|[j8|https://app.circleci.com/pipelines/github/adelapena/cassandra/791/workflows/8643004d-e29f-4454-b9dd-7eed069637d6]|
|[4.0|https://github.com/apache/cassandra/pull/1167]|[j8|https://app.circleci.com/pipelines/github/adelapena/cassandra/794/workflows/b5efb584-923f-4533-be16-4554c2778970]
[j11|https://app.circleci.com/pipelines/github/adelapena/cassandra/794/workflows/faca9ef5-a2cd-402c-8053-1bad21c6d2e3]|
|[trunk|https://github.com/apache/cassandra/pull/1168]|[j8|https://app.circleci.com/pipelines/github/adelapena/cassandra/793/workflows/f0c242f5-74eb-46c5-89ef-cafc9d4ea7f2]
[j11|https://app.circleci.com/pipelines/github/adelapena/cassandra/793/workflows/04976837-6c7c-4eb2-9945-19cdf95ba4d9]|
|[dtest|https://github.com/apache/cassandra-dtest/pull/155]|
All praise and glory to [~fcofdezc], who is the original author of the patch.
> Race in commit log replay can cause rejected mutations
> ------------------------------------------------------
>
> Key: CASSANDRA-16878
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16878
> Project: Cassandra
> Issue Type: Bug
> Reporter: Andres de la Peña
> Assignee: Andres de la Peña
> Priority: Normal
>
> We don't force order in the execution of replayed mutations and hence a
> mutation can move ahead of or behind a schema change it relies on (e.g.
> added/removed column), which can then cause it to be rejected because of a
> schema mismatch.
> To fix this, we need to identify schema mutations and make sure the log
> enforces their execution after all previous mutations have completed and
> before anything following is started.
> Schema mutations are
> [flushed|https://github.com/apache/cassandra/blob/cassandra-4.0.0/src/java/org/apache/cassandra/schema/SchemaKeyspace.java#L1266-L1271]
> after being applied, so this only would be a problem if the node abruptly
> stops before flushing the schema mutation.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]