Почему я получаю недопустимую строку UUID при обновлении метаданных столбца Cassandra? - PullRequest
3 голосов
/ 09 марта 2011

Я пытаюсь определить схему в Cassandra 0.7 и был бы признателен за помощь в решении проблемы, с которой я столкнулся.Я установил семейство Super Column в cassandra-cli:

create column family SimulationSummary with column_type='Super' and comparator='LexicalUUIDType'and subcomparator='TimeUUIDType';

Это успешно завершено.Однако, когда я пытаюсь обновить семейство столбцов с метаданными:

update column family SimulationSummary with column_metadata=
...   [{column_name: underlying, validation_class:BytesType}];

, я получаю сообщение об ошибке:

Invalid UUID String: underlying

Это типичная проблема некоторых других семейств столбцов (некоторыесупер колонки семей).

У меня есть пара обновлений метаданных семейства столбцов, которые работают нормально, но я не смог определить, почему некоторые записи работают нормально, а другие - нет.Например, следующее успешно:

create column family User
  with comparator='UTF8Type';
update column family User with column_metadata=
[
  {column_name: email, validation_class:UTF8Type},
  {column_name: given_name, validation_class:UTF8Type},
  {column_name: surname, validation_class:UTF8Type}
];

1 Ответ

4 голосов
/ 09 марта 2011

вы сказали компаратор = 'LexicalUUIDType'.Это означает, что имена столбцов должны быть UUID.«лежащий в основе» не является UUID, поэтому он не является допустимым именем столбца.

в рабочем примере компаратором является UTF8, а все используемые вами имена столбцов действительно являются строками UTF8.

...