Skip to content

Commit de4f01d

Browse files
mittalrishabhti-chi-bot
authored andcommitted
This is an automated cherry-pick of pingcap#49518
Signed-off-by: ti-chi-bot <[email protected]>
1 parent cd073ea commit de4f01d

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

br/pkg/lightning/backend/local/local.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1352,8 +1352,22 @@ func (local *local) writeAndIngestByRange(
13521352

13531353
var regions []*split.RegionInfo
13541354
var err error
1355+
<<<<<<< HEAD
13551356
ctx, cancel := context.WithCancel(ctxt)
13561357
defer cancel()
1358+
=======
1359+
// split region by given ranges
1360+
failpoint.Inject("failToSplit", func(_ failpoint.Value) {
1361+
needSplit = true
1362+
})
1363+
logger := log.FromContext(ctx).With(zap.String("uuid", engine.ID())).Begin(zap.InfoLevel, "split and scatter ranges")
1364+
backOffTime := 10 * time.Second
1365+
maxbackoffTime := 120 * time.Second
1366+
for i := 0; i < maxRetryTimes; i++ {
1367+
failpoint.Inject("skipSplitAndScatter", func() {
1368+
failpoint.Break()
1369+
})
1370+
>>>>>>> 2a564d4a8ca (Lightning: increase backoff if split fails (#49518))
13571371

13581372
WriteAndIngest:
13591373
for retry := 0; retry < maxRetryTimes; {
@@ -1400,6 +1414,23 @@ WriteAndIngest:
14001414
}
14011415
}
14021416

1417+
<<<<<<< HEAD
1418+
=======
1419+
log.FromContext(ctx).Warn("split and scatter failed in retry", zap.String("engine ID", engine.ID()),
1420+
log.ShortError(err), zap.Int("retry", i))
1421+
select {
1422+
case <-time.After(backOffTime):
1423+
case <-ctx.Done():
1424+
return ctx.Err()
1425+
}
1426+
backOffTime *= 2
1427+
if backOffTime > maxbackoffTime {
1428+
backOffTime = maxbackoffTime
1429+
}
1430+
}
1431+
logger.End(zap.ErrorLevel, err)
1432+
if err != nil {
1433+
>>>>>>> 2a564d4a8ca (Lightning: increase backoff if split fails (#49518))
14031434
return err
14041435
}
14051436

0 commit comments

Comments
 (0)