Log error from AppendVec removal & a panic clean (#14302) (#14310)

(cherry picked from commit addffd7694)

Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
This commit is contained in:
mergify[bot]
2020-12-28 22:08:22 +00:00
committed by GitHub
parent 2d2b3d8287
commit 3a6fd91739

View File

@ -117,7 +117,10 @@ pub struct AppendVec {
impl Drop for AppendVec {
fn drop(&mut self) {
if self.remove_on_drop {
let _ignored = remove_file(&self.path);
if let Err(e) = remove_file(&self.path) {
// promote this to panic soon.
error!("AppendVec failed to remove {:?}: {:?}", &self.path, e);
}
}
}
}
@ -138,19 +141,11 @@ impl AppendVec {
.create(create)
.open(file)
.map_err(|e| {
let mut msg = format!("in current dir {:?}\n", std::env::current_dir());
for ancestor in file.ancestors() {
msg.push_str(&format!(
"{:?} is {:?}\n",
ancestor,
std::fs::metadata(ancestor)
));
}
panic!(
"{}Unable to {} data file {}, err {:?}",
msg,
"Unable to {} data file {} in current dir({:?}): {:?}",
if create { "create" } else { "open" },
file.display(),
std::env::current_dir(),
e
);
})