jiacai2050 commented on code in PR #1505:
URL:
https://github.com/apache/incubator-horaedb/pull/1505#discussion_r1537119328
##########
src/analytic_engine/src/instance/wal_replayer.rs:
##########
@@ -182,13 +182,28 @@ impl Replay for TableBasedReplay {
debug!("Replay wal logs on table mode, context:{context},
tables:{table_datas:?}",);
let mut failed_tables = HashMap::new();
- let read_ctx = ReadContext {
+ let read_ctx = Arc::new(ReadContext {
Review Comment:
This Arc is not required.
```diff
- for table_data in table_datas {
- let table_id = table_data.id;
- if let Err(e) = Self::recover_table_logs(context, table_data,
&read_ctx).await {
+
+ let mut tasks = futures::stream::iter(
+ table_datas
+ .iter()
+ .map(|table_data| {
+ let table_id = table_data.id;
+ let read_ctx = &read_ctx;
+ async move {
+ let ret = Self::recover_table_logs(context,
table_data, read_ctx).await;
+ (table_id, ret)
+ }
+ })
+ .collect::<Vec<_>>(),
+ )
+ .buffer_unordered(20);
+ while let Some((table_id, ret)) = tasks.next().await {
+ if let Err(e) = ret {
+ // If occur error, mark this table as failed and store the
cause.
failed_tables.insert(table_id, e);
}
}
```
This compile success for me.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]