accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mmil...@apache.org
Subject [accumulo] 01/04: ACCUMULO-4702 Removed Beta Guava dependencies
Date Mon, 25 Sep 2017 16:26:30 GMT
This is an automated email from the ASF dual-hosted git repository.

mmiller pushed a commit to branch 1.8
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit b25f679af1ac2546b9a2c5d35006954a026bc7a7
Author: Mike Miller <mmiller@apache.org>
AuthorDate: Thu Sep 14 11:48:00 2017 -0400

    ACCUMULO-4702 Removed Beta Guava dependencies
---
 .../core/file/rfile/VisMetricsGatherer.java        | 20 ++++++++++-------
 .../java/org/apache/accumulo/fate/ZooStore.java    |  2 +-
 .../apache/accumulo/fate/util/UtilWaitThread.java  | 26 ++++++++++++++++++++++
 .../accumulo/minicluster/MiniAccumuloRunner.java   |  7 +++---
 .../main/java/org/apache/accumulo/proxy/Proxy.java |  4 ++--
 5 files changed, 45 insertions(+), 14 deletions(-)

diff --git a/core/src/main/java/org/apache/accumulo/core/file/rfile/VisMetricsGatherer.java
b/core/src/main/java/org/apache/accumulo/core/file/rfile/VisMetricsGatherer.java
index 8c8c949..b648335 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/VisMetricsGatherer.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/VisMetricsGatherer.java
@@ -19,6 +19,8 @@ package org.apache.accumulo.core.file.rfile;
 import static java.nio.charset.StandardCharsets.UTF_8;
 
 import java.io.PrintStream;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
@@ -30,9 +32,6 @@ import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Value;
 import org.apache.hadoop.io.Text;
 
-import com.google.common.hash.HashCode;
-import com.google.common.hash.HashFunction;
-import com.google.common.hash.Hashing;
 import com.google.common.util.concurrent.AtomicLongMap;
 
 /**
@@ -127,11 +126,16 @@ public class VisMetricsGatherer implements MetricsGatherer<Map<String,ArrayList<
       out.printf("%-27s", metricWord);
       out.println("Number of keys" + "\t   " + "Percent of keys" + "\t" + "Number of blocks"
+ "\t" + "Percent of blocks");
       for (Entry<String,Long> entry : metric.get(lGName).asMap().entrySet()) {
-        HashFunction hf = Hashing.md5();
-        HashCode hc = hf.newHasher().putString(entry.getKey(), UTF_8).hash();
-        if (hash)
-          out.printf("%-20s", hc.toString().substring(0, 8));
-        else
+        if (hash) {
+          String md5String = "";
+          try {
+            byte[] md5Bytes = MessageDigest.getInstance("MD5").digest(entry.getKey().getBytes(UTF_8));
+            md5String = new String(md5Bytes, UTF_8);
+          } catch (NoSuchAlgorithmException e) {
+            out.println("Failed to convert key to MD5 hash: " + e.getMessage());
+          }
+          out.printf("%-20s", md5String.substring(0, 8));
+        } else
           out.printf("%-20s", entry.getKey());
         out.print("\t\t" + entry.getValue() + "\t\t\t");
         out.printf("%.2f", ((double) entry.getValue() / numEntries.get(i)) * 100);
diff --git a/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java b/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
index ac18e83..68f1efd 100644
--- a/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
+++ b/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
@@ -16,8 +16,8 @@
  */
 package org.apache.accumulo.fate;
 
-import static com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static org.apache.accumulo.fate.util.UtilWaitThread.sleepUninterruptibly;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
diff --git a/fate/src/main/java/org/apache/accumulo/fate/util/UtilWaitThread.java b/fate/src/main/java/org/apache/accumulo/fate/util/UtilWaitThread.java
index de31fb0..f8c18b0 100644
--- a/fate/src/main/java/org/apache/accumulo/fate/util/UtilWaitThread.java
+++ b/fate/src/main/java/org/apache/accumulo/fate/util/UtilWaitThread.java
@@ -16,6 +16,10 @@
  */
 package org.apache.accumulo.fate.util;
 
+import static java.util.concurrent.TimeUnit.NANOSECONDS;
+
+import java.util.concurrent.TimeUnit;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -29,4 +33,26 @@ public class UtilWaitThread {
       log.error("{}", e.getMessage(), e);
     }
   }
+
+  public static void sleepUninterruptibly(long sleepFor, TimeUnit unit) {
+    boolean interrupted = false;
+    try {
+      long remainingNanos = unit.toNanos(sleepFor);
+      long end = System.nanoTime() + remainingNanos;
+      while (true) {
+        try {
+          // TimeUnit.sleep() treats negative timeouts just like zero.
+          NANOSECONDS.sleep(remainingNanos);
+          return;
+        } catch (InterruptedException e) {
+          interrupted = true;
+          remainingNanos = end - System.nanoTime();
+        }
+      }
+    } finally {
+      if (interrupted) {
+        Thread.currentThread().interrupt();
+      }
+    }
+  }
 }
diff --git a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
index e88248c..71b4f10 100644
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
@@ -21,6 +21,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.ServerSocket;
+import java.nio.file.Files;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -35,7 +36,6 @@ import org.slf4j.LoggerFactory;
 
 import com.beust.jcommander.IStringConverter;
 import com.beust.jcommander.Parameter;
-import com.google.common.io.Files;
 
 /**
  * A runner for starting up a {@link MiniAccumuloCluster} from the command line using an
optional configuration properties file. An example property file looks
@@ -152,8 +152,9 @@ public class MiniAccumuloRunner {
 
     if (opts.prop.containsKey(DIRECTORY_PROP))
       miniDir = new File(opts.prop.getProperty(DIRECTORY_PROP));
-    else
-      miniDir = Files.createTempDir();
+    else {
+      miniDir = Files.createTempDirectory(System.currentTimeMillis() + "", null).toFile();
+    }
 
     String rootPass = opts.prop.containsKey(ROOT_PASSWORD_PROP) ? opts.prop.getProperty(ROOT_PASSWORD_PROP)
: "secret";
 
diff --git a/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java b/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
index e385f47..fb1f06c 100644
--- a/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
+++ b/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
@@ -20,6 +20,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
 import java.util.Properties;
 
 import org.apache.accumulo.core.cli.Help;
@@ -53,7 +54,6 @@ import org.slf4j.LoggerFactory;
 import com.beust.jcommander.IStringConverter;
 import com.beust.jcommander.Parameter;
 import com.google.auto.service.AutoService;
-import com.google.common.io.Files;
 
 @AutoService(KeywordExecutable.class)
 public class Proxy implements KeywordExecutable {
@@ -139,7 +139,7 @@ public class Proxy implements KeywordExecutable {
 
     if (useMini) {
       log.info("Creating mini cluster");
-      final File folder = Files.createTempDir();
+      final File folder = Files.createTempDirectory(System.currentTimeMillis() + "", null).toFile();
       final MiniAccumuloCluster accumulo = new MiniAccumuloCluster(folder, "secret");
       accumulo.start();
       opts.prop.setProperty("instance", accumulo.getConfig().getInstanceName());

-- 
To stop receiving notification emails like this one, please contact
"commits@accumulo.apache.org" <commits@accumulo.apache.org>.

Mime
View raw message