开启 backup request 和 retry times 以及自定义 retry policy时会触发 CHECK_EQ 失败
- Lingua principale
- C++
- Stelle
- 17.6k
- Fork
- 4.1k
- Merge medio
- 2g 20h
- PR unite (30g)
- 64
Descrizione
**Describe the bug (描述bug)**
当重试次数>=3时, 开启 backup request 以及 retry policy 时,
会触发 CHECK_EQ(current_id(), info.id) << "error_code=" << _error_code;
**To Reproduce (复现方法)**
1) 发送一次rpc: 记作 RPC_1. 假设在 backup request time 后返回, 且 retry policy 必定为真.
2) 触发 backup request, 记作 RPC_2. 且返回在 RPC_1 之后.
3) RPC_1 返回后, 重试时触发 CHECK_EQ(current_id(), info.id) << "error_code=" << _error_code;
**Expected behavior (期望行为)**
不触发 CHECK_EQ(current_id(), info.id) << "error_code=" << _error_code;
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Riproduci la sequenza RPC_1/RPC_2 descritta con richieste di backup, almeno tre tentativi e una policy di retry personalizzata. Traccia la gestione delle richieste di backup e dei retry intorno all’assertion CHECK_EQ(current_id(), info.id); il lavoro è completato quando questa sequenza non attiva più l’assertion e il comportamento esistente continua a essere coperto dai test, se disponibili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- backend-api-design, distributed-systems
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100