codingapi / codingapi/tx-lcn

5.0.2 LCN模式,补偿机制问题

Aperta
#343 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
4.2k
Fork
1.4k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

```
public class LcnTransactionCleanService implements TransactionCleanService {

private final TCGlobalContext globalContext;

@Autowired
public LcnTransactionCleanService(TCGlobalContext globalContext) {
this.globalContext = globalContext;
}

@Override
public void clear(String groupId, int state, String unitId, String unitType) throws TransactionClearException {
try {
LcnConnectionProxy connectionProxy = globalContext.getLcnConnection(groupId);
connectionProxy.notify(state);
// todo notify exception
} catch (TCGlobalContextException e) {
log.warn("Non lcn connection when clear transaction.");
}
}
}
```
源码中,connectionProxy.notify(state) 里面实际上捕获了所有异常;
如果参与方等待通知时,数据库connection提交失败,那么是不是不会被记录需要补偿?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start with LcnTransactionCleanService.clear and trace LcnConnectionProxy.notify(state) through TCGlobalContext. Investigate how exceptions from a participant's database commit are handled and whether failed notifications are recorded for compensation; done means the failure behavior is defined and covered by an appropriate test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
distributed-systems
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.