Предыстория. Мое приложение работает в кластерной системе (в которой 4 узла), и системное время этих четырех узлов синхронизируется по NTP. Я использую стратегии Write.QUORUM и Read.QUORUM. Вероятность этой проблемы не очень высока. Версия Cassandra 1.0.3, я пробовал Cassandra 1.1.1, эта проблема все еще существует.
Проблема: я удалил столбец, но через 6 секунд Cassandra все еще может получить старую запись, которая "isMarkedForDelete" по-прежнему ложна.
Кто-нибудь сталкивается с такой же проблемой? И как это решить?
Подробности: см. журнал ниже:
Узел 3 (локальный узел):
[pool-2-thread-42] 27.06.2012 14:49:23,732 SliceQueryFilter.java (строка 123) собирает 0 из 2147483647: SuperColumn( 667072 [......7fffffffffffffff000001382ca96c8b636b698a
:false:36@1340779097312016,......)
[pool-2-thread-44] 2012-06-27 14:51:21,367 StorageProxy.java (строка 172) Mutations/ConsistencyLevel: [RowMutation(keyspace='drc', key='3332 ', модификации = [ColumnFamily(fpr_index [SuperColumn(667072 [7fffffffffffffff000001382ca96c8b636b698a
:true:4@1340779881338000,]),])])]/QUORUM
-- Я удаляю эту запись в 14:51:21,367
[pool-2-thread-37] 2012-06-27 14:51:27,400 SliceQueryFilter.java (строка 123) собирает 0 из 2147483647: SuperColumn(667072 [......,7fffffffffffffff000001382ca96c8b636b698a
:false:36@1340779097312016,......)
-- Но я все еще могу получить старую запись в 14:51:27,400
Node2:
[MutationStage:118] 2012-06-27 14:51:21,373 RowMutationVerbHandler.java (строка 48) Применение RowMutation(keyspace='drc', key='3332', модификации =[ColumnFamily(fpr_index [SuperColumn(667072 [7fffffffffffffff000001382ca96c8b636b698a
:true:4@1340779881338000,]),])])
[MutationStage:118] 2012-06-27 14:51:21,374 RowMutationVerbHandler.java (строка 60) RowMutation(keyspace='drc', key='3332', модификации=[ColumnFamily(fpr_index [ SuperColumn(667072 [7fffffffffffffff000001382ca96c8b636b698a
:true:4@1340779881338000,]),])]). Отправка ответа на 6692098@/192.168.0.3
[MutationStage:123] 27-06-2012 14:51:27,405 RowMutationVerbHandler.java (строка 48) Применение RowMutation(keyspace='drc', key='3332', модификации=[ColumnFamily(fpr_index [SuperColumn(667072) [.. ....,7fffffffffffffff000001382ca96c8b636b698a
:false:36@1340779097312016,......])
[MutationStage:123] 2012-06-27 14:51:27,405 RowMutationVerbHandler.java (строка 60) RowMutation(keyspace='drc', key='3332', модификации=[ColumnFamily(fpr_index [ SuperColumn(667072 [......,7fffffffffffffff000001382ca96c8b636b698a
:false:36@1340779097312016,.......]),])]). Отправка ответа на 6698516@/192.168.0.3
Node1:
[MutationStage:98] 2012-06-27 14:51:24,661 RowMutationVerbHandler.java (строка 48) Применение RowMutation(keyspace='drc', key='3332', модификации =[ColumnFamily(fpr_index [SuperColumn(667072 [7fffffffffffffff000001382ca96c8b636b698a
:true:4@1340779881338000,]),])])
[MutationStage:98] 2012-06-27 14:51:24,675 RowMutationVerbHandler.java (строка 60) RowMutation(keyspace='drc', key='3332', модификации=[ColumnFamily(fpr_index [ SuperColumn(667072 [7fffffffffffffff000001382ca96c8b636b698a
: true :4@1340779881338000,]),])]). Отправка ответа на 6692099@/192.168.0.3
[MutationStage:93] 2012-06-27 14:51:40,932 RowMutationVerbHandler.java (строка 48) Применение RowMutation(keyspace='drc', key='3332', модификации=[ColumnFamily(fpr_index) [SuperColumn(667072 [7fffffffffffffff000001382ca96c8b636b698a
:true:4@1340779900915004,]),])])
DEBUG [MutationStage:93] 2012-06-27 14:51:40,933 RowMutationVerbHandler.java (строка 60) RowMutation(keyspace='drc', key='3332', модификации=[ColumnFamily(fpr_index) [SuperColumn(667072 [7fffffffffffffff000001382ca96c8b636b698a
: true :4@1340779900915004,]),])]) применен. Отправка ответа на 6706555@/192.168.0.3
[ReadStage:55] 2012-06-27 14:51:43,074 SliceQueryFilter.java (строка 123) собирает 0 из 5000: 7fffffffffffffff000001382ca96c8b636b698a
:true:4@1340779900915004
Узел 4:
Журнала об этой записи на узле 4 нет.
nodetool ring
? - person DNA   schedule 30.06.2012