Elasticsearch: consistência de leitura e gravação

O Elasticsearch não possui parâmetros de "consistência de leitura" (como Cassandra). Mas tem "escrever consistência"e"ler preferência"

A documentação diz o seguinte sobreConsistência de gravação

Consistência de gravação
Para impedir que gravações ocorram no lado "errado" de uma partição de rede, por padrão, as operações de índice só serão bem-sucedidas se um quorum (> réplicas / 2 + 1) de shards ativos estiver disponível. Esse padrão pode ser substituído em uma base por nó, usando a configuração action.write_consistency. Para alterar esse comportamento por operação, o parâmetro de solicitação de consistência pode ser usado.

Os valores válidos da consistência de gravação são um, quorum e todos.

Observe que, no caso em que o número de réplicas seja 1 (total de 2 cópias dos dados), o comportamento padrão será bem-sucedido se 1 cópia (a primária) puder executar a gravação.

A operação de índice retorna apenas depois de tudoativo os shards dentro do grupo de replicação indexaram o documento (replicação de sincronização).

Minha pergunta é sobre o último parágrafo:

A operação de índice retorna apenas depois de tudoativo os shards dentro do grupo de replicação indexaram o documento (replicação de sincronização).

E sewrite_consistency=quorum (padrão) e todos os shards estão ativos (sem falhas de nó, sem partição de rede), então:
1) A operação de índice retorna assim quequorum de shards terminou a indexação? (mesmo que todos os shards estejam ativos / ativos)
2) Ou a operação de índice retorna quandotodos os shards ativos / ativos concluíram a indexação? (ou seja, o quorum é considerado apenas em caso de falhas / tempos limite)

No primeiro caso - a leitura pode ser eventualmente consistente (pode obter dados obsoletos), a gravação é mais rápida.
No segundo caso - a leitura é consistente (desde que não haja partições de rede), a gravação é mais lenta (enquanto aguarda o shard / nó mais lento).

Alguém sabe como isso funciona?

Outra coisa que me pergunto é por que o valor padrão de "preferência'param (na solicitação de obtenção / pesquisa) érandomized mas não_local (que deve ter sido mais eficiente, suponho)

questionAnswers(2)

yourAnswerToTheQuestion