[
https://issues.apache.org/jira/browse/CASSANDRA-4752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Ellis updated CASSANDRA-4752:
--------------------------------------
Attachment: 4752-v2.txt
Thanks, Sam! I think you nailed it with your diagnosis of the problem. But
the fix will not actually correct the timestamp (neither did the original
code). Attaching v2 that makes the code do what I think was originally
intended -- copy the old timestamp into the clone, or cap it at current time if
necessary.
> 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
> Assignee: Sam Tunnicliffe
> Attachments: 0001-CASSANDRA-4752.txt, 4752-v2.txt
>
>
> 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