Skip to content

Commit d83bb39

Browse files
authored
chore: upon startup, meta-service output human-readable error if trying to open future version on-disk data (#16679)
1 parent 45b0da4 commit d83bb39

File tree

1 file changed

+13
-1
lines changed
  • src/meta/raft-store/src/ondisk

1 file changed

+13
-1
lines changed

src/meta/raft-store/src/ondisk/mod.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ use std::fmt::Debug;
2626
pub use data_version::DataVersion;
2727
use databend_common_meta_sled_store::sled;
2828
use databend_common_meta_sled_store::SledTree;
29+
use databend_common_meta_stoerr::MetaBytesError;
2930
use databend_common_meta_stoerr::MetaStorageError;
3031
pub use header::Header;
3132
use log::info;
@@ -82,7 +83,18 @@ impl OnDisk {
8283
let tree = SledTree::open(db, &tree_name, config.is_sync())?;
8384
let ks = tree.key_space::<DataHeader>();
8485

85-
let header = ks.get(&Self::KEY_HEADER.to_string())?;
86+
let header = ks.get(&Self::KEY_HEADER.to_string()).map_err(|e| {
87+
MetaStorageError::BytesError(MetaBytesError {
88+
source: AnyError::error(format!(
89+
"Unable to read meta-service data version from disk; \
90+
Possible reasons: opening future version meta-service with old version binary, \
91+
or the on-disk data is damaged. \
92+
error: {}",
93+
e
94+
))
95+
.add_context(|| "open on-disk data"),
96+
})
97+
})?;
8698
info!("Loaded header: {:?}", header);
8799

88100
if let Some(v) = header {

0 commit comments

Comments
 (0)