【问题标题】:cassandra-cli: unable to coerce 'allias' to version 1 UUIDcassandra-cli:无法将“allias”强制转换为版本 1 UUID
【发布时间】:2011-09-19 21:18:23
【问题描述】:

我正在尝试创建一个以 TimeUUIDType 作为行名的列族:

create column family users
with column_type = 'Standard'
and comparator = 'TimeUUIDType'
and default_validation_class = 'UTF8Type'
and key_validation_class = 'UTF8Type'
and memtable_operations = 0.290625
and memtable_throughput = 62
and memtable_flush_after = 1440
and rows_cached = 0.0
and row_cache_save_period = 0
and keys_cached = 200000.0
and key_cache_save_period = 14400
and read_repair_chance = 1.0
and gc_grace = 864000
and min_compaction_threshold = 4
and max_compaction_threshold = 32
and replicate_on_write = true
and row_cache_provider = 'ConcurrentLinkedHashCacheProvider'
and column_metadata=[
{column_name: allias, validation_class: UTF8Type, index_type: KEYS, index_name: allias},
{column_name: st_user_id, validation_class: TimeUUIDType, index_type: KEYS, index_name: st_user_id},
{column_name: st_money, validation_class: IntegerType},
{column_name: mail, validation_class: UTF8Type},
{column_name: password, validation_class: UTF8Type},
{column_name: last_visit, validation_class: DateType},
{column_name: registered, validation_class: DateType}
];

但是我遇到了一个异常:

org.apache.cassandra.db.marshal.MarshalException: 无法强制 版本 1 UUID 的“别名”

我做错了什么?

【问题讨论】:

    标签: exception cassandra uuid coerce


    【解决方案1】:

    列族的比较器属性用于对一行中的列进行排序。您正在尝试使用 TimeUUID 比较器,这将要求每个列名都是 TimeUUID 值。

    如果您想使用 TimeUUIDs 作为您的行键,但您可能只想切换这些设置的值,但列名的字符串,

    comparator = 'UTF8Type',
    key_validation_class = 'TimeUUIDType'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-05
      • 2018-05-12
      • 2023-03-17
      • 1970-01-01
      • 2013-03-07
      • 2015-06-16
      • 2021-06-09
      • 2017-04-28
      相关资源
      最近更新 更多