политика повторных попыток драйвера по умолчанию - PullRequest
0 голосов
/ 10 февраля 2020

Я тестирую наш кластер кассандры на устойчивость, это кластер из 9 узлов с rf = 3. Когда я отключаю все трафики c на порту 7000 одного узла, клиент получает

com.datastax.driver.core.exceptions.ReadTimeoutException: Cassandra timeout during read query at consistency QUORUM (2 responses were required but only 1 replica responded)

. Причина в том, что этот хост только частично мог обмениваться данными с другими узлами, но затем переходит к повторной попытке снова на том же хосте

INFO  - c.d.d.c.p.LoggingRetryPolicy -  - Retrying on read timeout on same host at consistency QUORUM (initial consistency: QUORUM, required responses: 2, received responses: 1, data retrieved: true, retries: 0)

Он продолжает ВСЕ, он повторяет попытку на том же хосте и никогда не восстанавливается, в конце концов запрос не выполняется.

Я могу создать собственную политику, но задаюсь вопросом, почему она никогда не пробует другие узлы?

1 Ответ

2 голосов
/ 10 февраля 2020

Согласно вашим определениям, база данных будет иметь только 3 копии информации (RF = 3), поэтому, даже если у вас есть 9 узлов, QUORUM будет оцениваться только с 3 узлами, которые фактически являются владельцами данные, это определяется количеством токенов и их назначением в узлах.

Перед отключением порта в этом узле кластер считался исправным? (другими словами, nodetool status сообщил обо всех узлах как UN Up and Normal). Считается ли задержка одинаковой для всех узлов? Если у вас есть узел с увеличенными задержками, запрос будет задержан до того, как он получит от него ответ.

Перед созданием «пользовательских политик» и после того, как вы подтвердите, что все узлы исправны, достижимы и доступны, Вы можете исследовать использование более низкого уровня согласованности (например, ANY или ONE), который может повысить отказоустойчивость и производительность с влиянием точности, или увеличить коэффициент репликации, что увеличит количество узлов, где вы можете найти данные но с неудобством, что объем использования диска будет увеличиваться.

...