Skip to content

Commit 900f798

Browse files
committed
More verbose error when merging sessions
1 parent 1a587fc commit 900f798

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

icechunk/src/session.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,11 @@ pub enum SessionErrorKind {
109109
InvalidIndex { coords: ChunkIndices, path: Path },
110110
#[error("invalid chunk index for splitting manifests: {coords:?}")]
111111
InvalidIndexForSplitManifests { coords: ChunkIndices },
112-
#[error("incompatible manifest splitting config when merging sessions")]
113-
IncompatibleSplits,
112+
#[error("incompatible manifest splitting config when merging two sessions")]
113+
IncompatibleSplittingConfig {
114+
ours: ManifestSplittingConfig,
115+
theirs: ManifestSplittingConfig,
116+
},
114117
#[error("`to` snapshot ancestry doesn't include `from`")]
115118
BadSnapshotChainForDiff,
116119
#[error("failed to create manifest from chunk stream")]
@@ -920,7 +923,11 @@ impl Session {
920923
.get(node)
921924
.is_some_and(|their_splits| !our_splits.compatible_with(their_splits))
922925
}) {
923-
return Err(SessionErrorKind::IncompatibleSplits.into());
926+
let ours = self.config().manifest().splitting().clone();
927+
let theirs = self.config().manifest().splitting().clone();
928+
return Err(
929+
SessionErrorKind::IncompatibleSplittingConfig { ours, theirs }.into()
930+
);
924931
}
925932

926933
// Session.splits is _complete_ in that it will include every possible split.

0 commit comments

Comments
 (0)