-
Notifications
You must be signed in to change notification settings - Fork 102
restore: make split and restore pipelined. #427
Conversation
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
/build |
/run-integration-test |
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
remove reject stores sometime always grow too huge and provides little useful information, move it to DEBUG. add a log when any file is fully restored, which is useful troubleshooting when some restore goes slow. Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
…hen exit Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
/run-integration-test
|
/run-integration-test |
Seems it's buggy, will it reproduce again?
/run-integration-test |
It's green now. |
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
/run-integration-test |
/run-integration-test 🤔 |
/run-integration-test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
pkg/restore/import.go
Outdated
@@ -338,9 +338,9 @@ func (importer *FileImporter) Import( | |||
zap.Error(errIngest)) | |||
return errIngest | |||
} | |||
summary.CollectSuccessUnit(summary.TotalKV, 1, file.TotalKvs) | |||
summary.CollectSuccessUnit(summary.TotalBytes, 1, file.TotalBytes) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤔️
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How strange... 🤔
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
LGTM |
/merge |
/run-all-tests |
cherry pick to release-4.0 failed |
Signed-off-by: Hillium <maruruku@stu.csust.edu.cn>
Signed-off-by: Hillium maruruku@stu.csust.edu.cn
What problem does this PR solve?
Fix #419
What is changed and how it works?
We changed the interface of
BatchSender
, so it can run asynchronously:Then, we must change the call site of
Batcher
, and make another goroutine(known ascontextCleaner
) to accept tables that restored asynchronously, do the clean job, and send tables to next.(TODO?: since the sender can be internally asynchronous, we can remove
sendWorker
and send requests directly at the call site. However the risk of this is that the channel size ofBatchSender
might block the caller, and we must pass actx
to methods likeAdd
sinceContextManager
need to be in the tree of structured concurrent too.)Check List
Tests
Internal test: real time 12m28s -> 9m5s (45000+ ranges)
Release Note