[
https://issues.apache.org/jira/browse/CASSANDRA-7233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vinoo Ganesh updated CASSANDRA-7233:
Description:
Dropping a keyspace fails to purge the Key Cache resulting in SSTable
corruption during searches.
Dropping a full keyspace (with column families) and re-creating that same
keyspace (with column families) without restarting Cassandra causes searches to
print out CorruptSSTable messages. This has to do with the fact that keys that
reference the deleted data persist in the key cache after the data has been
deleted. Could we have the key cache automatically invalidated when for data
that is dropped?
was:
Dropping a keyspace fails to purge the Key Cache resulting in SSTable
corruption during searches.
One of our workflows involves dropping a full keyspace (with column families)
and re-creating it all without restarting Cassandra. When data is dropped from
Cassandra, it doesn't look the key cache is invalidated which causes searches
to print out CorruptSSTable messages.
At an initial glance, it looks like the issue we're seeing has to do with the
fact that the Descriptor passed into KeyCacheKey's constructor checks
directory, generation, ksname, cfname, and temp. In our workflow, when the new
keyspace is created, generation restarts at 1 which creates issues.
We're not sure if it makes a lot of sense to try and preserve the generation
during the deletion/recreation process (and we're not sure where Cassandra
would even save this) but that would be a fix for our workflow.
Additionally, making the actual Column Family UUIDs unique would be great as
well. It looks like in RowKeyCache, they UUIDs are just made up of the keyspace
name and column family.
> Dropping a keyspace fails to purge the Key Cache resulting in SSTable
> Corruption during searches
>
>
> Key: CASSANDRA-7233
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7233
> Project: Cassandra
> Issue Type: Bug
> Components: Core
>Reporter: Vinoo Ganesh
> Fix For: 1.2.17
>
>
> Dropping a keyspace fails to purge the Key Cache resulting in SSTable
> corruption during searches.
> Dropping a full keyspace (with column families) and re-creating that same
> keyspace (with column families) without restarting Cassandra causes searches
> to print out CorruptSSTable messages. This has to do with the fact that keys
> that reference the deleted data persist in the key cache after the data has
> been deleted. Could we have the key cache automatically invalidated when for
> data that is dropped?
--
This message was sent by Atlassian JIRA
(v6.2#6252)