2013-11-21 40 views
0

使用卡桑德拉 - CLI,修改一个CompositeType比较的尝试失败,出现错误:不能修改的CompositeType比较上卡桑德拉列族

[[email protected]] describe CF; 
ColumnFamily: CF 
    Cells sorted by: 
    org.apache.cassandra.db.marshal.CompositeType(
    org.apache.cassandra.db.marshal.LongType, 
    org.apache.cassandra.db.marshal.LongType, 
    org.apache.cassandra.db.marshal.UTF8Type) 

[[email protected]] truncate CF; 
CF truncated. 

[[email protected]] update column family CF with comparator = 
'CompositeType(
    org.apache.cassandra.db.marshal.LongType, 
    org.apache.cassandra.db.marshal.UTF8Type)'; 
comparators do not match or are not compatible. 

尝试工作通过删除和重新创建列家族工作正常,直到重新启动,显然是由这个问题引起的: cassandra Exception encountered during startup: index (1) must be less than size (1)

这种情况应该如何处理?我想在drop之后做一个nodetool刷新可以防止提交日志中存在不兼容数据的问题?有没有办法修改CompositeType比较器而不做drop/create?

回答