Skip to content

Commit 2ec0266

Browse files
authored
Add debug logging when delete_objects return Err (#985)
1 parent 35b6a61 commit 2ec0266

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

icechunk/src/ops/gc.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ async fn gc_chunks(
303303
Ok(storage.delete_chunks(storage_settings, to_delete).await?)
304304
}
305305

306-
#[instrument(skip(storage, storage_settings, config, keep_ids), fields(keep_ids.len = keep_ids.len()))]
306+
#[instrument(skip(asset_manager, storage, storage_settings, config, keep_ids), fields(keep_ids.len = keep_ids.len()))]
307307
async fn gc_manifests(
308308
asset_manager: &AssetManager,
309309
storage: &(dyn Storage + Send + Sync),
@@ -331,7 +331,7 @@ async fn gc_manifests(
331331
Ok(storage.delete_manifests(storage_settings, to_delete).await?)
332332
}
333333

334-
#[instrument(skip(storage, storage_settings, config, keep_ids), fields(keep_ids.len = keep_ids.len()))]
334+
#[instrument(skip(asset_manager, storage, storage_settings, config, keep_ids), fields(keep_ids.len = keep_ids.len()))]
335335
async fn gc_snapshots(
336336
asset_manager: &AssetManager,
337337
storage: &(dyn Storage + Send + Sync),
@@ -359,7 +359,7 @@ async fn gc_snapshots(
359359
Ok(storage.delete_snapshots(storage_settings, to_delete).await?)
360360
}
361361

362-
#[instrument(skip(storage, storage_settings, config, keep_ids), fields(keep_ids.len = keep_ids.len()))]
362+
#[instrument(skip(asset_manager, storage, storage_settings, config, keep_ids), fields(keep_ids.len = keep_ids.len()))]
363363
async fn gc_transaction_logs(
364364
asset_manager: &AssetManager,
365365
storage: &(dyn Storage + Send + Sync),

icechunk/src/storage/mod.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use std::{
3333
};
3434
use tokio::io::AsyncRead;
3535
use tokio_util::io::SyncIoBridge;
36-
use tracing::instrument;
36+
use tracing::{instrument, warn};
3737

3838
use async_trait::async_trait;
3939
use bytes::{Buf, Bytes};
@@ -497,9 +497,12 @@ pub trait Storage: fmt::Debug + fmt::Display + private::Sealed + Sync + Send {
497497
.for_each_concurrent(10, |batch| {
498498
let res = Arc::clone(&res);
499499
async move {
500-
// FIXME: handle error instead of skipping
501500
let new_deletes =
502-
self.delete_batch(prefix, batch).await.unwrap_or_default();
501+
self.delete_batch(prefix, batch).await.unwrap_or_else(|_| {
502+
// FIXME: handle error instead of skipping
503+
warn!("ignoring error in Storage::delete_batch");
504+
Default::default()
505+
});
503506
#[allow(clippy::expect_used)]
504507
res.lock().expect("Bug in delete objects").merge(&new_deletes);
505508
}

0 commit comments

Comments
 (0)