[ 
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

Reply via email to