[
https://issues.apache.org/jira/browse/CASSANDRA-4752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sam Tunnicliffe updated CASSANDRA-4752:
---------------------------------------
Description:
The fix for CASSANDRA-4698 introduced a bug whereby when drop keyspace is
issued a schema disagreement immediately occurs. This seems to be because the
{code}ColumnFamily cf =
ColumnFamily.create(modification.getValue().metadata());{code}
in {{RowMutation.deserializeFixingTimestamps}} does not preserve deletion info
for the cf in the modification. In most cases, this doesn't cause a problem,
but for a drop keyspace modification, there are no columns in the cf, so the
deletion info is effectively lost leading to an incorrect digest being created
and ultimately a schema disagreement.
Replacing the {{create}} with {{cloneMeShallow}} does preserve the deletion
info and avoids the schema disagreement issue.
was:
The fix for CASSANDRA-4698 introduced a bug whereby when drop keyspace is
issued a schema disagreement immediately occurs. This seems to be because the
{code}
ColumnFamily cf =
ColumnFamily.create(modification.getValue().metadata());
{code}
in {{RowMutation.deserializeFixingTimestamps}} does not preserve deletion info
for the cf in the modification. In most cases, this doesn't cause a problem,
but for a drop keyspace modification, there are no columns in the cf, so the
deletion info is effectively lost leading to an incorrect digest being created
and ultimately a schema disagreement.
Replacing the {{create}} with {{cloneMeShallow}} does preserve the deletion
info and avoids the schema disagreement issue.
> Drop keyspace causes schema disagreement
> -----------------------------------------
>
> Key: CASSANDRA-4752
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4752
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 1.1.6
> Reporter: Sam Tunnicliffe
>
> The fix for CASSANDRA-4698 introduced a bug whereby when drop keyspace is
> issued a schema disagreement immediately occurs. This seems to be because the
> {code}ColumnFamily cf =
> ColumnFamily.create(modification.getValue().metadata());{code}
> in {{RowMutation.deserializeFixingTimestamps}} does not preserve deletion
> info for the cf in the modification. In most cases, this doesn't cause a
> problem, but for a drop keyspace modification, there are no columns in the
> cf, so the deletion info is effectively lost leading to an incorrect digest
> being created and ultimately a schema disagreement.
> Replacing the {{create}} with {{cloneMeShallow}} does preserve the deletion
> info and avoids the schema disagreement issue.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira