2013-09-25 1 views
1

Существует запрос тайм-аут чтения, который может быть указан в cassandra.yaml:read_request_timeout_in_ms в Кассандре

# How long the coordinator should wait for read operations to complete 
read_request_timeout_in_ms: 10000 

Мне нужны некоторые пояснения относительно этого тайм-аут.

В соответствии с client request documentation запрос на чтение может быть двух типов: запрос внешнего запроса или запрос на ремонт фона.

Q1: Этот тайм-аут наложен на оба типа запросов и что происходит в каждом случае?

Теперь, сосредоточив внимание только на внешних чтениях. Опять же, в документации, приведенной выше, говорится, что во время чтения фоновый процесс запускается, чтобы поддерживать согласованность.

Q2: Для внешнего запроса на чтение время тайм-аута включает время, затраченное на фоновый процесс?

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

ответ

2

Q1: Я считаю, что исправление чтения фона будет использовать read_request_timeout_in_ms для его работы.

Q2: Для внешних запросов клиентов время, затраченное на восстановление фона, обычно находится в «фоновом режиме» и не учитывается в отношении значения таймаута. [1] «read_request_timeout_in_ms» время запускается, когда координатор получает запрос. Для согласованности меньше, чем ВСЕ, если ответы получены от требуемого количества реплик до значения таймаута, ответ возвращается клиенту. Для уровня согласованности ВСЕ ответ не возвращается до тех пор, пока восстановление исходного текста не завершится [2].

[1] http://www.datastax.com/documentation/cassandra/1.2/webhelp/?pagename=docs&version=1.2&file=#cassandra/architecture/../dml/dml_config_consistency_c.html [2] http://wiki.apache.org/cassandra/ReadRepair

+0

Спасибо за обмен информации. –