VictoriaMetrics/app
Roman Khavronenko 173ccf4333
vmselect: introduce search.skipSlowReplicas cmd-line flag (#4538)
* vmselect: introduce `search.skipSlowReplicas` cmd-line flag

vmselect has two logical conditions during request processing when
`-replicationFactor` cmd-line flag is set:
1. If at least `len(storageNodes) - replicationFactor` responded, it could skip
waiting for the rest of nodes to respond. This could lead to problems described
here https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1207.
2. Mark response as partial if less than `len(storageNodes) - replicationFactor` responded
without an error.

The P1 showed itself error-prone and became the main reason why
`-replicationFactor` wasn't recommended to use at vmselect level.
However, this optimization could be still very useful in situations
when there are slow and fast replicas in cluster.

But P2 remains viable and important conditionless.
Hiding P1 behind the feature-flag `search.skipSlowReplicas`
should make `-replicationFactor` flag usable again. And let users
choose whether they want P1 to be respected.

Related issues
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1207
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/711

Signed-off-by: hagen1778 <roman@victoriametrics.com>

* docs: update changelog

Signed-off-by: hagen1778 <roman@victoriametrics.com>

---------

Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-07-07 11:50:26 +02:00
..
victoria-logs app/vlselect: handle vmui at /select/vmui path instead of /vmui 2023-07-06 21:36:28 -07:00
vlinsert app/vlselect: handle vmui at /select/vmui path instead of /vmui 2023-07-06 21:36:28 -07:00
vlselect Revert "app/vlselect/logsql: use buffered writer in order to save syscalls when sending big amounts of data to clients" 2023-07-06 21:37:38 -07:00
vlstorage app/vlstorage: export vl_active_merges and vl_merges_total metrics 2023-07-06 21:38:09 -07:00
vmagent docs/vmagent.md: update -help output 2023-07-06 22:48:23 -07:00
vmalert vmalert: allow disabling of step param attached to instant queries (#4574) 2023-07-06 23:13:56 -07:00
vmauth docs/vmauth.md: update -help output 2023-07-06 22:52:48 -07:00
vmbackup docs/vmbackup.md: update -help output 2023-07-06 22:54:15 -07:00
vmbackupmanager docs/vmbackupmanager.md: update -help output 2023-07-06 22:57:31 -07:00
vmctl vmctl: interrupt explore procedure in influx mode if no numeric fields were found (#4576) 2023-07-06 22:21:18 -07:00
vmgateway docs/vmgateway.md: update -help output 2023-07-06 23:07:47 -07:00
vminsert cluster: standardize default HTTP responses (#4368) 2023-06-01 10:26:52 +02:00
vmrestore docs/vmrestore.md: update -help output 2023-07-06 22:55:26 -07:00
vmselect vmselect: introduce search.skipSlowReplicas cmd-line flag (#4538) 2023-07-07 11:50:26 +02:00
vmstorage docs: clarify -retentionPeriod flag usage (#4417) 2023-06-09 10:44:22 +02:00
vmui security: update base Alpine image to 3.18.2 to avoid security risks (#4571) 2023-07-06 22:12:20 -07:00