Paulo Motta created CASSANDRA-14168: ---------------------------------------
Summary: 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 Reporter: Paulo Motta Assignee: Paulo Motta 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-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org