Перечислите полное семейство столбцов, используя согласованный кворум - PullRequest
3 голосов
/ 13 октября 2011

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

У меня есть 5 узлов, 127.0.0.1, 127.0.0.2, 127.0.0.3, 127.0.0.4, 127.0.0.5 и схема datastax.com «demo», за исключением того, что я использовал replication_factor 3 вместо одного ( Я сохранил SimpleStrategy). У меня есть 3 строки в семействе столбцов "users" (ключ "jsmith", "yomama" и "bobbyjo").

Теперь я снимаю узел, 2, 3 или 5 (я еще не трогал 1, так как это мое единственное семя), и подключаюсь к 4, обрабатывая следующий запрос CQL:

select Key, full_name, email, state, gender, birth_year from users;

Как и ожидалось, он дает мне 3 строки даже при отсутствии одного узла. Поэтому следующий шаг - попросить о последовательном результате.

select Key, full_name, email, state, gender, birth_year from users USING CONSISTENCY QUORUM ;

Не удалось. Я не мог понять это. Имея коэффициент репликации 3, я должен сойти с сбитого узла. Теперь ради интереса я добавил следующее общее условие:

select Key, full_name, email, state, gender, birth_year from users USING CONSISTENCY QUORUM where KEY IN ('jsmith', 'bobbyjo', 'yomama') ;

И теперь я получаю свои 3 строки, используя кворум согласованности с одним узлом вниз. Это нормально, что я не могу просмотреть полное семейство столбцов, используя кворум с сбитым узлом, но я все равно могу перечислить все строки, если я дам Кассандре их ключи?

1 Ответ

1 голос
/ 18 октября 2011

Пара вопросов:

  1. Вы начали с 5 узлов и RF 3 или вы увеличили кластер до 5?

  2. Попытались ли вы выполнить оператор выбора, который первоначально потерпел неудачу после выпуска того, который работал?(Если это работает, вы только что увидели восстановление чтения в действии - возможно, вы не выполнили «восстановление nodetool» в зависимости от вашего ответа на # 1 выше).

  3. Какая версия ApacheКассандра, кстати?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...