Skip to content

Commit 6c5c5ee

Browse files
committed
use try_join_all for manifests
1 parent f076121 commit 6c5c5ee

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

iceberg-rust/src/table/mod.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
1313
use std::{io::Cursor, sync::Arc};
1414

15-
use futures::future;
16-
use futures::stream::FuturesUnordered;
15+
use futures::future::{self, try_join_all};
1716
use itertools::Itertools;
1817
use manifest::ManifestReader;
1918
use manifest_list::read_snapshot;
@@ -326,7 +325,7 @@ async fn datafiles(
326325
None => Box::new(manifests.iter()),
327326
};
328327

329-
let stream: FuturesUnordered<_> = iter
328+
let futures: Vec<_> = iter
330329
.map(move |file| {
331330
let object_store = object_store.clone();
332331
async move {
@@ -344,8 +343,10 @@ async fn datafiles(
344343
})
345344
.collect();
346345

347-
Ok(stream.flat_map(move |result| {
348-
let (bytes, path, sequence_number) = result.unwrap();
346+
let results = try_join_all(futures).await?;
347+
348+
Ok(stream::iter(results).flat_map(move |result| {
349+
let (bytes, path, sequence_number) = result;
349350

350351
let reader = ManifestReader::new(bytes).unwrap();
351352
stream::iter(reader).try_filter_map(move |mut x| {

0 commit comments

Comments
 (0)