Хьюстон, у нас есть проблема.
Попытка создать новую таблицу с cqlsh
в существующем ключевом пространстве Cassandra (v2.1.3) приведет к:
ServerError:
<ErrorMessage code=0000 [Server error] message="java.lang.RuntimeException:
java.util.concurrent.ExecutionException:
java.lang.RuntimeException:
org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found e8c03790-c952-11e4-a753-5981ea73cd7c; expected e8b14370-c952-11e4-a844-8f10bfb9c386)">
После первой попытки создания попытка повторного запуска приведет к:
AlreadyExists: таблица "ks.metrics" уже существует
Но получение списка существующих таблиц для пространства ключей desc tables;
не будет сообщать о новой таблице.
Проблема связана с Cassandra-8387, за исключением того, что только один клиент пытается создать таблицу: cqlsh
У нас есть куча Spark-заданий, которые будут создавать кластеры и таблицы при запуске, что может сделать это параллельно. Это приведет к повреждению ключа?
Создание нового пространства ключей и добавление к нему таблицы работает как ожидалось.
Любые идеи?
UPDATE
Обнаружено обходное решение: выполните ремонт в ключевом пространстве, и появятся таблицы (desc tables
).