Skip to content

Commit 3fa4a50

Browse files
authored
Merge pull request #342 from sam-berning/improve-metadata-error
apiserver: improve error message for invalid metadata
2 parents 1484345 + 7593109 commit 3fa4a50

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

sources/api/apiserver/src/server/controller.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,8 +408,12 @@ pub(crate) fn get_metadata_for_data_keys<D: DataStore, S: AsRef<str>>(
408408
Err(_) => continue,
409409
};
410410
trace!("Deserializing scalar from metadata");
411-
let value: Value = deserialize_scalar::<_, ScalarError>(&value_str)
412-
.context(error::InvalidMetadataSnafu { key: md_key.name() })?;
411+
let value: Value = deserialize_scalar::<_, ScalarError>(&value_str).context(
412+
error::InvalidMetadataSnafu {
413+
key: md_key.name(),
414+
data_key: data_key.name(),
415+
},
416+
)?;
413417
result.insert(data_key.to_string(), value);
414418
}
415419

@@ -436,6 +440,7 @@ pub(crate) fn get_metadata_for_all_data_keys<D: DataStore, S: AsRef<str>>(
436440
let value: Value = deserialize_scalar::<_, ScalarError>(&value_str).context(
437441
error::InvalidMetadataSnafu {
438442
key: meta_key.name(),
443+
data_key: data_key.name(),
439444
},
440445
)?;
441446
result.insert(data_key.to_string(), value);

sources/api/apiserver/src/server/error.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,15 @@ pub enum Error {
136136
source: Box<datastore::Error>,
137137
},
138138

139-
#[snafu(display("Metadata '{}' is not valid JSON: {}", key, source))]
139+
#[snafu(display(
140+
"Metadata '{}' for key '{}' is not valid JSON: {}",
141+
key,
142+
data_key,
143+
source
144+
))]
140145
InvalidMetadata {
141146
key: String,
147+
data_key: String,
142148
source: serde_json::Error,
143149
},
144150

0 commit comments

Comments
 (0)