Skip to content
This repository has been archived by the owner on Dec 8, 2021. It is now read-only.

Commit

Permalink
restore: retry if deliver KVs to importer (#176)
Browse files Browse the repository at this point in the history
  • Loading branch information
lonng authored and kennytm committed May 8, 2019
1 parent 68d78a5 commit ec30c02
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion lightning/restore/restore.go
Original file line number Diff line number Diff line change
Expand Up @@ -1407,7 +1407,13 @@ func writeToEngine(ctx context.Context, engine *kv.OpenedEngine, totalKVs []kven

var putError error
for _, kvs := range splitIntoDeliveryStreams(totalKVs, maxDeliverBytes) {
putError = stream.Put(kvs)
for i := 0; i < 5; i++ {
putError = stream.Put(kvs)
if putError == nil {
break
}
}
// retry still failed
if putError != nil {
break
}
Expand Down Expand Up @@ -1476,9 +1482,15 @@ func (cr *chunkRestore) deliverLoop(
start := time.Now()

if err = writeToEngine(ctx, dataEngine, dataKVs); err != nil {
common.AppLogger.Errorf("[%s:%d] write to data engine from #%d (%s) failed: %s",
t.tableName, engineID, cr.index, &cr.chunk.Key, err.Error(),
)
return
}
if err = writeToEngine(ctx, indexEngine, indexKVs); err != nil {
common.AppLogger.Errorf("[%s:%d] write to index engine from #%d (%s) failed: %s",
t.tableName, engineID, cr.index, &cr.chunk.Key, err.Error(),
)
return
}

Expand Down

0 comments on commit ec30c02

Please sign in to comment.