You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Edward Ribeiro (JIRA)" <ji...@apache.org> on 2015/01/20 19:42:35 UTC

[jira] [Updated] (CASSANDRA-8652) DROP TABLE should also drop BATCH prepared statements associated to

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

Edward Ribeiro updated CASSANDRA-8652:
--------------------------------------
    Reproduced In: 2.1.2
    Since Version: 2.1.1
      Description: 
When a Keyspace or Column Family is dropped, Cassandra should evict the cached prepared statements that reference that keyspace and/or table as partially solved by the issue https://issues.apache.org/jira/browse/CASSANDRA-7566. 

Unfortunately, when it's a BATCH prepared statement it is not being evicted from the cache. Executing the BATCH statement after a drop of KS/CF, and subsequent recreation of KS/CF with same name, should NOT retrieve them from cache, or else the batch prepared statements will throw an error like {{java.lang.IllegalArgumentException: Unknown CF fd47fd00-a0d1-11e4-8be2-75ac7e9e28a5}} because the statements inside the batch statement still hold a reference to the old (pre-dropping) cf_id. 

The attached patch solves this issue.


  was:

When a Keyspace or Column Family is dropped, Cassandra should evict the cached prepared statements that reference that keyspace and/or table as partially solved by the issue https://issues.apache.org/jira/browse/CASSANDRA-7566. 

Unfortunately, when it's a BATCH prepared statement it is not being evicted from the cache. Executing the BATCH statement after a drop of KS/CF, and subsequent recreation of KS/CF with same name, should NOT retrieve them from cache, or else the batch prepared statements will throw an error like {{java.lang.IllegalArgumentException: Unknown CF fd47fd00-a0d1-11e4-8be2-75ac7e9e28a5}} because the statements inside the batch statement still hold a reference to the old (pre-dropping) cf_id. 

The attached patch solves this issue.



> DROP TABLE should also drop BATCH prepared statements associated to
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-8652
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8652
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Edward Ribeiro
>            Assignee: Edward Ribeiro
>             Fix For: 2.1.2
>
>         Attachments: batch-exception.patch
>
>
> When a Keyspace or Column Family is dropped, Cassandra should evict the cached prepared statements that reference that keyspace and/or table as partially solved by the issue https://issues.apache.org/jira/browse/CASSANDRA-7566. 
> Unfortunately, when it's a BATCH prepared statement it is not being evicted from the cache. Executing the BATCH statement after a drop of KS/CF, and subsequent recreation of KS/CF with same name, should NOT retrieve them from cache, or else the batch prepared statements will throw an error like {{java.lang.IllegalArgumentException: Unknown CF fd47fd00-a0d1-11e4-8be2-75ac7e9e28a5}} because the statements inside the batch statement still hold a reference to the old (pre-dropping) cf_id. 
> The attached patch solves this issue.



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