Details
-
Bug
-
Resolution: Fixed
-
Critical
-
7.6.0, 7.1.4
-
Untriaged
-
0
-
Unknown
Description
- Repair stream will continue until there is nothing to repair.
- When KV_SENDER_RESTART_VBUCKETS_RESPONSE is received, setting indexer.timekeeper.streamRepairWaitTime is used to wait for some time before calling repairStream again.
- This can cause 1m delay for StreamBegin of vbucket
- SessionConsistency scans with lower timeouts can fail in such cases if bucket ownership change completes quickly when timekeeper is waiting.
func (tk *timekeeper) sendRestartMsg(restartMsg Message) {
|
case KV_SENDER_RESTART_VBUCKETS_RESPONSE: |
...
|
waitTime := tk.config["timekeeper.streamRepairWaitTime"].Int() |
time.Sleep(time.Duration(waitTime) * time.Second)
|
...
|
//check for more vbuckets in repair state
|
tk.repairStream(streamId, keyspaceId)
|
Attachments
Issue Links
- backports to
-
MB-58495 [Backport MB-58121 to 7.2.4] Reduce stream repair wait time when bucket ownership changes
- Closed