diff options
author | Alex Auvolat <alex@adnab.me> | 2023-06-12 20:07:33 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2023-06-12 20:07:33 +0200 |
commit | 1ea4937c8bd952a01a2e314f27080aac31353ef0 (patch) | |
tree | 7a9593ddfe1dc4e930a2c66802f62f64fb0b980a | |
parent | 6aec73b6413b85260a273aea04ea64eb0a30b1c1 (diff) | |
download | garage-1ea4937c8bd952a01a2e314f27080aac31353ef0.tar.gz garage-1ea4937c8bd952a01a2e314f27080aac31353ef0.zip |
fix timestamps wrapping around in `garage block list-errors` (fix #584)fix-future-timestamps
-rw-r--r-- | src/garage/cli/util.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/garage/cli/util.rs b/src/garage/cli/util.rs index 7d93efe3..1140cf22 100644 --- a/src/garage/cli/util.rs +++ b/src/garage/cli/util.rs @@ -373,13 +373,18 @@ pub fn print_block_error_list(el: Vec<BlockResyncErrorInfo>) { let mut table = vec!["Hash\tRC\tErrors\tLast error\tNext try".into()]; for e in el { + let next_try = if e.next_try > now { + tf2.convert(Duration::from_millis(e.next_try - now)) + } else { + "asap".to_string() + }; table.push(format!( "{}\t{}\t{}\t{}\tin {}", hex::encode(e.hash.as_slice()), e.refcount, e.error_count, tf.convert(Duration::from_millis(now - e.last_try)), - tf2.convert(Duration::from_millis(e.next_try - now)) + next_try )); } format_table(table); |