You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Joshua McKenzie (JIRA)" <ji...@apache.org> on 2018/07/09 20:11:00 UTC

[jira] [Updated] (CASSANDRA-14168) Throw error when attempting to mutate non-existant table

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

Joshua McKenzie updated CASSANDRA-14168:
----------------------------------------
    Component/s: Distributed Metadata
                 Core

> Throw error when attempting to mutate non-existant table
> --------------------------------------------------------
>
>                 Key: CASSANDRA-14168
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14168
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core, Distributed Metadata
>            Reporter: Paulo Motta
>            Assignee: Paulo Motta
>            Priority: Major
>
> When a node receives a write request for a table that was just created but it's TableMetadata is not yet registered, it will [throw a UnknownTableException|https://github.com/apache/cassandra/blob/7a40abb6a5108688fb1b10c375bb751cbb782ea4/src/java/org/apache/cassandra/schema/Schema.java#L474].
> There is a small racy period though between when the {{TableMetadata}} [is registered|https://github.com/apache/cassandra/blob/88c0e29caaffab41422adc673182bb9549e735ab/src/java/org/apache/cassandra/schema/Schema.java#L642] and it's {{ColumnFamilyStore}} is [created|https://github.com/apache/cassandra/blob/88c0e29caaffab41422adc673182bb9549e735ab/src/java/org/apache/cassandra/schema/Schema.java#L643], that a write request can be [silently dropped due to ColumnFamilyStore not being instantiated|https://github.com/apache/cassandra/blob/8b3a60b9a7dbefeecc06bace617279612ec7092d/src/java/org/apache/cassandra/db/Keyspace.java#L603] - even though an error is logged, the request will be completed and an ack wrongly sent to the coordinator.
> This was detected during investigation of a flakiness on {{materialized_views_test.py:TestMaterializedViews.populate_mv_after_insert_wide_rows_test}}.
> ps: this is not an issue before 4.0, because a new table's {{TableMetadata}} was only registered after its
>  {{ColumnFamilyStore}} object [was loaded|https://github.com/apache/cassandra/blob/cassandra-3.0/src/java/org/apache/cassandra/config/Schema.java#L671] (which appears to be changed by CASSANDRA-9425).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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