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)