[ https://issues.apache.org/jira/browse/CASSANDRA-8693?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Edward Ribeiro updated CASSANDRA-8693: -------------------------------------- Description: QueryProcessor holds a reference to {{internalStatements}}, a map for prepared statements used internally. Those commands don't mix with the ones created by the user, but the problem is that if a KS/CF is dropped and then recreated {{internalStatements}} entries will point to invalid PreparedStatements (old cf_id) so any operation on those statements will fail thereafter. In fact, as of today, this map is never actually cleaned, no matter what. This problem is similar to the ones addressed by https://issues.apache.org/jira/browse/CASSANDRA-8652 and https://issues.apache.org/jira/browse/CASSANDRA-7566, so those issues provide any further context. I am attaching a patch to this issue. was: QueryProcessor holds a reference to {{internalStatements}}, a map for prepared statements used internally. Those commands don't mix with the ones created by the user, but the problem is that if a KS/CF is dropped and then recreated {{internalStatements}} entries will point to invalid PreparedStatements (old cf_id) so any operation on those statements will fail therefore. In fact, as of today, this map is never actually cleaned no matter what. This problem is similar to the ones addressed by https://issues.apache.org/jira/browse/CASSANDRA-8652 and https://issues.apache.org/jira/browse/CASSANDRA-7566, so those issues provide any further context. I am attaching a patch to this issue. > QueryProcessor never removes internal statements from its cache > --------------------------------------------------------------- > > Key: CASSANDRA-8693 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8693 > Project: Cassandra > Issue Type: Bug > Components: Core > Reporter: Edward Ribeiro > Assignee: Edward Ribeiro > Labels: cql3 > Fix For: 2.1.2 > > Attachments: qp-internal.patch > > > QueryProcessor holds a reference to {{internalStatements}}, a map for > prepared statements used internally. > Those commands don't mix with the ones created by the user, but the problem > is that if a KS/CF is dropped and then recreated {{internalStatements}} > entries will point to invalid PreparedStatements (old cf_id) so any operation > on those statements will fail thereafter. In fact, as of today, this map is > never actually cleaned, no matter what. > This problem is similar to the ones addressed by > https://issues.apache.org/jira/browse/CASSANDRA-8652 and > https://issues.apache.org/jira/browse/CASSANDRA-7566, so those issues provide > any further context. > I am attaching a patch to this issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)