This is an automated email from the ASF dual-hosted git repository. mmiller pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/main by this push: new 26ee87e Rename Duration to DurationFormat (#2579) 26ee87e is described below commit 26ee87e6567e24d0de88879f38ec3ecf2c85e0ce Author: Mike Miller <mmil...@apache.org> AuthorDate: Mon Mar 21 09:13:38 2022 -0400 Rename Duration to DurationFormat (#2579) * Rename to DurationFormat to prevent confusion with java Duration * Also clean up the class --- .../util/{Duration.java => DurationFormat.java} | 64 +++++++++++++++------- .../shell/commands/ActiveCompactionHelper.java | 11 ++-- .../shell/commands/ActiveScanIterator.java | 9 +-- .../shell/commands/BulkImportListIterator.java | 6 +- 4 files changed, 58 insertions(+), 32 deletions(-) diff --git a/core/src/main/java/org/apache/accumulo/core/util/Duration.java b/core/src/main/java/org/apache/accumulo/core/util/DurationFormat.java similarity index 58% rename from core/src/main/java/org/apache/accumulo/core/util/Duration.java rename to core/src/main/java/org/apache/accumulo/core/util/DurationFormat.java index 7541e33..1cdc6bb 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/Duration.java +++ b/core/src/main/java/org/apache/accumulo/core/util/DurationFormat.java @@ -18,40 +18,64 @@ */ package org.apache.accumulo.core.util; -public class Duration { +public class DurationFormat { + private final String str; - public static String format(long time) { - return format(time, " ", "—"); - } - - public static String format(long time, String space, String zero) { + public DurationFormat(long time, String space) { + String dash = "-"; long ms, sec, min, hr, day, yr; - ms = sec = min = hr = day = yr = -1; - if (time == 0) - return zero; + + if (time == 0) { + str = dash; + return; + } + ms = time % 1000; time /= 1000; - if (time == 0) - return String.format("%dms", ms); + + if (time == 0) { + str = String.format("%dms", ms); + return; + } + sec = time % 60; time /= 60; - if (time == 0) - return String.format("%ds" + space + "%dms", sec, ms); + + if (time == 0) { + str = String.format("%ds" + space + "%dms", sec, ms); + return; + } + min = time % 60; time /= 60; - if (time == 0) - return String.format("%dm" + space + "%ds", min, sec); + + if (time == 0) { + str = String.format("%dm" + space + "%ds", min, sec); + return; + } + hr = time % 24; time /= 24; - if (time == 0) - return String.format("%dh" + space + "%dm", hr, min); + + if (time == 0) { + str = String.format("%dh" + space + "%dm", hr, min); + return; + } + day = time % 365; time /= 365; - if (time == 0) - return String.format("%dd" + space + "%dh", day, hr); + + if (time == 0) { + str = String.format("%dd" + space + "%dh", day, hr); + return; + } yr = time; - return String.format("%dy" + space + "%dd", yr, day); + str = String.format("%dy" + space + "%dd", yr, day); } + @Override + public String toString() { + return str; + } } diff --git a/shell/src/main/java/org/apache/accumulo/shell/commands/ActiveCompactionHelper.java b/shell/src/main/java/org/apache/accumulo/shell/commands/ActiveCompactionHelper.java index 1d08abf..9b1befe 100644 --- a/shell/src/main/java/org/apache/accumulo/shell/commands/ActiveCompactionHelper.java +++ b/shell/src/main/java/org/apache/accumulo/shell/commands/ActiveCompactionHelper.java @@ -31,7 +31,7 @@ import org.apache.accumulo.core.client.IteratorSetting; import org.apache.accumulo.core.client.TableNotFoundException; import org.apache.accumulo.core.client.admin.ActiveCompaction; import org.apache.accumulo.core.client.admin.InstanceOperations; -import org.apache.accumulo.core.util.Duration; +import org.apache.accumulo.core.util.DurationFormat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -87,11 +87,12 @@ class ActiveCompactionHelper { String host = ac.getHost().getAddress() + ":" + ac.getHost().getPort() + hostSuffix; try { + var dur = new DurationFormat(ac.getAge(), ""); return String.format( - "%21s | %9s | %5s | %6s | %5s | %5s | %15s | %-40s | %5s | %35s | %9s | %s", host, - Duration.format(ac.getAge(), "", "-"), ac.getType(), ac.getReason(), - shortenCount(ac.getEntriesRead()), shortenCount(ac.getEntriesWritten()), ac.getTable(), - ac.getTablet(), ac.getInputFiles().size(), output, iterList, iterOpts); + "%21s | %9s | %5s | %6s | %5s | %5s | %15s | %-40s | %5s | %35s | %9s | %s", host, dur, + ac.getType(), ac.getReason(), shortenCount(ac.getEntriesRead()), + shortenCount(ac.getEntriesWritten()), ac.getTable(), ac.getTablet(), + ac.getInputFiles().size(), output, iterList, iterOpts); } catch (TableNotFoundException e) { return "ERROR " + e.getMessage(); } diff --git a/shell/src/main/java/org/apache/accumulo/shell/commands/ActiveScanIterator.java b/shell/src/main/java/org/apache/accumulo/shell/commands/ActiveScanIterator.java index 920f69b..26ae52b 100644 --- a/shell/src/main/java/org/apache/accumulo/shell/commands/ActiveScanIterator.java +++ b/shell/src/main/java/org/apache/accumulo/shell/commands/ActiveScanIterator.java @@ -26,7 +26,7 @@ import java.util.List; import org.apache.accumulo.core.client.admin.ActiveScan; import org.apache.accumulo.core.client.admin.InstanceOperations; import org.apache.accumulo.core.client.admin.ScanType; -import org.apache.accumulo.core.util.Duration; +import org.apache.accumulo.core.util.DurationFormat; class ActiveScanIterator implements Iterator<String> { @@ -44,11 +44,12 @@ class ActiveScanIterator implements Iterator<String> { final List<ActiveScan> asl = instanceOps.getActiveScans(tserver); for (ActiveScan as : asl) { + var dur = new DurationFormat(as.getAge(), ""); + var dur2 = new DurationFormat(as.getLastContactTime(), ""); scans.add(String.format( "%21s |%21s |%9s |%9s |%7s |%6s |%8s |%8s |%10s |%20s |%10s |%20s |%10s | %s", - tserver, as.getClient(), Duration.format(as.getAge(), "", "-"), - Duration.format(as.getLastContactTime(), "", "-"), as.getState(), as.getType(), - as.getUser(), as.getTable(), as.getColumns(), as.getAuthorizations(), + tserver, as.getClient(), dur, dur2, as.getState(), as.getType(), as.getUser(), + as.getTable(), as.getColumns(), as.getAuthorizations(), (as.getType() == ScanType.SINGLE ? as.getTablet() : "N/A"), as.getScanid(), as.getSsiList(), as.getSsio())); } diff --git a/shell/src/main/java/org/apache/accumulo/shell/commands/BulkImportListIterator.java b/shell/src/main/java/org/apache/accumulo/shell/commands/BulkImportListIterator.java index 7206e0c..1c8bfe4 100644 --- a/shell/src/main/java/org/apache/accumulo/shell/commands/BulkImportListIterator.java +++ b/shell/src/main/java/org/apache/accumulo/shell/commands/BulkImportListIterator.java @@ -25,7 +25,7 @@ import java.util.List; import org.apache.accumulo.core.manager.thrift.ManagerMonitorInfo; import org.apache.accumulo.core.master.thrift.BulkImportStatus; import org.apache.accumulo.core.master.thrift.TabletServerStatus; -import org.apache.accumulo.core.util.Duration; +import org.apache.accumulo.core.util.DurationFormat; public class BulkImportListIterator implements Iterator<String> { @@ -51,8 +51,8 @@ public class BulkImportListIterator implements Iterator<String> { private String format(BulkImportStatus status) { long diff = System.currentTimeMillis() - status.startTime; - return String.format("%25s | %4s | %s", status.filename, Duration.format(diff, " ", "-"), - status.state); + var dur = new DurationFormat(diff, " "); + return String.format("%25s | %4s | %s", status.filename, dur, status.state); } @Override