Skip to content

Commit 349ed99

Browse files
vietddudeanhthii
authored andcommitted
Enhance messaging reliability and error handling
1 parent 83884a7 commit 349ed99

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

pkg/messaging/point2point.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,10 @@ func (d *natsDirectMessaging) SendToOther(topic string, message []byte) error {
6464
}
6565
return nil
6666
},
67-
retry.Attempts(3),
68-
retry.Delay(50*time.Millisecond),
69-
retry.DelayType(retry.FixedDelay),
67+
retry.Attempts(10),
68+
retry.Delay(100*time.Millisecond),
69+
retry.MaxDelay(1*time.Second),
70+
retry.DelayType(retry.BackOffDelay),
7071
retry.OnRetry(func(n uint, err error) {
7172
logger.Error("Failed to send direct message", err, "attempt", n+1, "topic", topic)
7273
}),

pkg/mpc/session.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package mpc
33
import (
44
"encoding/json"
55
"fmt"
6+
"runtime/debug"
67
"strings"
78
"sync"
89
"time"
@@ -252,6 +253,17 @@ func (s *session) receiveBroadcastTssMessage(rawMsg []byte) {
252253

253254
// update: the logic of receiving message should be modified
254255
func (s *session) receiveTssMessage(msg *types.TssMessage) {
256+
defer func() {
257+
if r := recover(); r != nil {
258+
logger.Error("Panic recovered in receiveTssMessage",
259+
fmt.Errorf("%v", r),
260+
"walletID", s.walletID,
261+
"stack", string(debug.Stack()),
262+
)
263+
s.ErrCh <- fmt.Errorf("panic in receiveTssMessage: %v", r)
264+
}
265+
}()
266+
255267
toIDs := make([]string, len(msg.To))
256268
for i, id := range msg.To {
257269
toIDs[i] = id.String()

0 commit comments

Comments
 (0)