Skip to content

Commit f49a76e

Browse files
authored
fix: mempool full retry logic (#225)
* fix: mempool full retry logic
1 parent fef22fd commit f49a76e

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

relayer/chains/wasm/tx.go

+3-8
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ var (
5252
rtyAttNum = uint(5)
5353
rtyAtt = retry.Attempts(rtyAttNum)
5454
rtyDel = retry.Delay(time.Millisecond * 400)
55-
memPoolDel = retry.Delay(time.Second * 30)
55+
specialDel = retry.Delay(time.Second * 30)
5656
rtyErr = retry.LastErrorOnly(true)
5757
numRegex = regexp.MustCompile("[0-9]+")
5858
defaultBroadcastWaitTimeout = 10 * time.Minute
@@ -835,20 +835,15 @@ func (ap *WasmProvider) SendMessagesToMempool(
835835
}
836836

837837
if msg.Type() == MethodUpdateClient {
838-
delay := retry.Delay(time.Millisecond * time.Duration(ap.PCfg.BlockInterval))
839-
retryAttempt := rtyAtt
840838
if err := retry.Do(func() error {
841839
if err := ap.BroadcastTx(cliCtx, txBytes, []provider.RelayerMessage{msg}, asyncCtx, defaultBroadcastWaitTimeout, asyncCallback, true); err != nil {
840+
ap.log.Error("Failed to update client", zap.Any("Message", msg), zap.Error(err))
842841
if strings.Contains(err.Error(), sdkerrors.ErrWrongSequence.Error()) {
843842
ap.handleAccountSequenceMismatchError(err)
844-
} else if strings.Contains(err.Error(), sdkerrors.ErrMempoolIsFull.Error()) {
845-
ap.log.Info("Mempool is full, retrying later with increased delay")
846-
delay = memPoolDel
847-
retryAttempt = retry.Attempts(0)
848843
}
849844
}
850845
return err
851-
}, retry.Context(ctx), retryAttempt, delay, rtyErr); err != nil {
846+
}, retry.Context(ctx), retry.Attempts(0), specialDel, rtyErr); err != nil {
852847
ap.log.Error("Failed to update client", zap.Any("Message", msg))
853848
return err
854849
}

0 commit comments

Comments
 (0)