apache / apache/brpc

开启 backup request 和 retry times 以及自定义 retry policy时会触发 CHECK_EQ 失败

Aperta
#2,001 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
bug
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.