У меня есть два узла, которые полностью реплицированы. Когда я запускаю запрос к таблице, содержащей 30 строк, трассировка cqlsh, по-видимому, указывает на то, что она извлекает некоторые строки с одного сервера и некоторые строки с другого сервера.
Таким образом, несмотря на то, что все строки доступны на обоих узлах, запрос занимает 250 мс+, а не 1 мс для других запросов.
У меня уже есть уровень согласованности, установленный на «один» на уровне протокола, что еще вам нужно сделать, чтобы он использовал только один узел для запроса?
select * from organisation:
activity | timestamp | source | source_elapsed
-------------------------------------------------------------------------------------------------+--------------+--------------+----------------
execute_cql3_query | 04:21:03,641 | 10.1.0.84 | 0
Parsing select * from organisation LIMIT 10000; | 04:21:03,641 | 10.1.0.84 | 68
Preparing statement | 04:21:03,641 | 10.1.0.84 | 174
Determining replicas to query | 04:21:03,642 | 10.1.0.84 | 307
Enqueuing request to /10.1.0.85 | 04:21:03,642 | 10.1.0.84 | 1034
Sending message to /10.1.0.85 | 04:21:03,643 | 10.1.0.84 | 1402
Message received from /10.1.0.84 | 04:21:03,644 | 10.1.0.85 | 47
Executing seq scan across 0 sstables for [min(-9223372036854775808), min(-9223372036854775808)] | 04:21:03,644 | 10.1.0.85 | 461
Read 1 live and 0 tombstoned cells | 04:21:03,644 | 10.1.0.85 | 560
Read 1 live and 0 tombstoned cells | 04:21:03,644 | 10.1.0.85 | 611
………..etc….....