[ 
https://issues.apache.org/jira/browse/CASSANDRA-11927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15392663#comment-15392663
 ] 

Paulo Motta commented on CASSANDRA-11927:
-----------------------------------------

While I agree that this is not a bug and is working as intended, I still think 
we should rethink this behavior on trunk and throw an RTE if CFS not found 
during a mutation for the following reasons:
* In most other places we throw an exception if a table is not found during a 
request 
([SelectStatement|https://github.com/apache/cassandra/blob/087264f29c309ed0b2a18cc20b79016a05847f1c/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java#L724],
 [thrift's 
internal_insert|https://github.com/apache/cassandra/blob/fed476f9c049128674841d1c46b868979352b1a5/src/java/org/apache/cassandra/thrift/CassandraServer.java#L865],
 or any caller of 
[Keyspace.getColumnFamilyStore|https://github.com/apache/cassandra/blob/3c00a0674a4e8b71ae25439dc2a0dece2f460d21/src/java/org/apache/cassandra/db/Keyspace.java#L192]),
 so I don't see why not being consistent and do it here.
* This would provide additional protection/assertion against bugs like 
CASSANDRA-12083 and CASSANDRA-11027.
* While no one reported this as a problem, it could've been silently ignored, 
since only a log message is print, while this will ensure that the request will 
fail and the potential problem will be more easily noticed/reported.

bq. Second, the way this is implemented here means that any updates obtained 
from the iterator before a missing cf is encountered, would be applied but the 
RTE would still be thrown which is pretty confusing. 

While this might be weird, it is exactly what happens if an error or unexpected 
condition is found mid-update. What is unacceptable IMO is returning success 
when not all updates were successfully applied, thus potentially breaking 
consistency guarantees. So, unless there is another reason not to do it I don't 
see why not improve this here.

> dtest failure in replication_test.ReplicationTest.simple_test
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-11927
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11927
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sean McCarthy
>            Assignee: Paulo Motta
>              Labels: dtest
>         Attachments: node1.log, node1_debug.log, node2.log, node2_debug.log, 
> node3.log, node3_debug.log
>
>
> example failure:
> http://cassci.datastax.com/job/trunk_novnode_dtest/387/testReport/replication_test/ReplicationTest/simple_test
> Failed on CassCI build trunk_novnode_dtest #387
> Logs are attached.
> Unexpected error in question:
> {code}
> ERROR [SharedPool-Worker-1] 2016-05-30 16:00:17,211 Keyspace.java:504 - 
> Attempting to mutate non-existant table 99f5be60-267f-11e6-ad5f-f13d771494ea 
> (test.test)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to