【问题标题】:Cannot modify CompositeType comparator on Cassandra column family无法修改 Cassandra 列族上的 CompositeType 比较器
【发布时间】:2013-12-05 09:09:33
【问题描述】:

使用 cassandra-cli,尝试修改 CompositeType 比较器(例如,添加或删除字段)失败并出现错误:

[default@KS] 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)

[default@KS] truncate CF;
CF truncated.

[default@KS] 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)

这种情况应该如何正确处理?我想在删除后执行 nodetool 刷新可以防止提交日志出现不兼容数据的问题?有没有办法在不进行删除/创建的情况下修改 CompositeType 比较器?

【问题讨论】:

    标签: cassandra datastax-enterprise


    【解决方案1】:

    如果不进行删除/创建,就无法修改 CompositeType 比较器吗?放下后,你需要做一个 nodetool clearsnapshot。检查此链接 http://wiki.apache.org/cassandra/CassandraCli08

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      • 1970-01-01
      • 2015-09-09
      • 1970-01-01
      相关资源
      最近更新 更多