You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2015/05/29 03:28:49 UTC

[01/11] accumulo git commit: ACCUMULO-3869 Explicitly ensure null object was not returned

Repository: accumulo
Updated Branches:
  refs/heads/1.7 f7b093006 -> 44cd47035
  refs/heads/master 32b373067 -> 633138205


ACCUMULO-3869 Explicitly ensure null object was not returned


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/1ad4bfa0
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/1ad4bfa0
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/1ad4bfa0

Branch: refs/heads/1.7
Commit: 1ad4bfa0905b12e7ba2a5d2cc7d47d5130a78e7f
Parents: 7432c5c
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 20:15:32 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:19 2015 -0400

----------------------------------------------------------------------
 .../org/apache/accumulo/master/tableOps/CreateImportDir.java     | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/1ad4bfa0/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java
----------------------------------------------------------------------
diff --git a/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java b/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java
index 69dcc49..cb70c68 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java
@@ -48,6 +48,10 @@ class CreateImportDir extends MasterRepo {
     log.info("Looking for matching filesystem for " + exportDir + " from options " + Arrays.toString(tableDirs));
     Path base = master.getFileSystem().matchingFileSystem(exportDir, tableDirs);
     log.info("Chose base table directory of " + base);
+    // Sanity check that a valid FileSystem was found for the exportDir
+    if (null == base) {
+      throw new RuntimeException("Could not determine matching FileSystem for " + exportDir);
+    }
     Path directory = new Path(base, tableInfo.tableId);
 
     Path newBulkDir = new Path(directory, Constants.BULK_PREFIX + namer.getNextName());


[11/11] accumulo git commit: Merge branch '1.7'

Posted by el...@apache.org.
Merge branch '1.7'


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/63313820
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/63313820
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/63313820

Branch: refs/heads/master
Commit: 633138205820f0b785e32307b6d538a8690aca5a
Parents: 32b3730 44cd470
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 21:14:28 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:28 2015 -0400

----------------------------------------------------------------------
 .../org/apache/accumulo/core/trace/Trace.java   |  3 +-
 .../server/conf/ServerConfigurationFactory.java | 31 +++++++++++++-------
 .../master/tableOps/CreateImportDir.java        |  4 +++
 .../org/apache/accumulo/monitor/Monitor.java    |  7 +++--
 .../apache/accumulo/test/scalability/Run.java   |  6 +++-
 .../apache/accumulo/trace/instrument/Trace.java |  3 +-
 6 files changed, 37 insertions(+), 17 deletions(-)
----------------------------------------------------------------------



[04/11] accumulo git commit: ACCUMULO-3866 Close the TraceScopes just in case.

Posted by el...@apache.org.
ACCUMULO-3866 Close the TraceScopes just in case.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/447d38bf
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/447d38bf
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/447d38bf

Branch: refs/heads/master
Commit: 447d38bf6159789e7402da278efed83f5573e4b8
Parents: 7c112a0
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 19:52:05 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:19 2015 -0400

----------------------------------------------------------------------
 core/src/main/java/org/apache/accumulo/core/trace/Trace.java      | 3 ++-
 .../src/main/java/org/apache/accumulo/trace/instrument/Trace.java | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/447d38bf/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/Trace.java b/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
index 052c772..3ebd031 100644
--- a/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
+++ b/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
@@ -50,7 +50,8 @@ public class Trace {
     org.apache.htrace.Span span = org.apache.htrace.Trace.currentSpan();
     if (span != null) {
       span.stop();
-      org.apache.htrace.Tracer.getInstance().continueSpan(null);
+      // close() will no-op, but ensure safety if the implementation changes
+      org.apache.htrace.Tracer.getInstance().continueSpan(null).close();
     }
   }
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/447d38bf/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
----------------------------------------------------------------------
diff --git a/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java b/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
index 0d4b0cc..027fe8f 100644
--- a/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
+++ b/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
@@ -64,7 +64,8 @@ public class Trace extends org.apache.accumulo.core.trace.Trace {
   public static void endThread(Span span) {
     if (span != null) {
       span.stop();
-      org.apache.htrace.Tracer.getInstance().continueSpan(null);
+      // close() will no-op, but ensure safety if the implementation changes
+      org.apache.htrace.Tracer.getInstance().continueSpan(null).close();
     }
   }
 


[07/11] accumulo git commit: ACCUMULO-3867 Switch concurrently-accessed long to AtomicLong

Posted by el...@apache.org.
ACCUMULO-3867 Switch concurrently-accessed long to AtomicLong


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/7c112a06
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/7c112a06
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/7c112a06

Branch: refs/heads/1.7
Commit: 7c112a06fbd3337f0517f8a0f14fe7eeff7f9512
Parents: f7b0930
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 19:49:31 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:19 2015 -0400

----------------------------------------------------------------------
 .../src/main/java/org/apache/accumulo/monitor/Monitor.java    | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/7c112a06/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index abdaa4b..6e00863 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@ -30,6 +30,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TimerTask;
+import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.atomic.AtomicReference;
 
 import org.apache.accumulo.core.Constants;
@@ -105,7 +106,7 @@ public class Monitor {
   private static final Logger log = LoggerFactory.getLogger(Monitor.class);
 
   private static final int REFRESH_TIME = 5;
-  private static long lastRecalc = 0L;
+  private static AtomicLong lastRecalc = new AtomicLong(0L);
   private static double totalIngestRate = 0.0;
   private static double totalQueryRate = 0.0;
   private static double totalScanRate = 0.0;
@@ -242,7 +243,7 @@ public class Monitor {
 
     // only recalc every so often
     long currentTime = System.currentTimeMillis();
-    if (currentTime - lastRecalc < REFRESH_TIME * 1000)
+    if (currentTime - lastRecalc.get() < REFRESH_TIME * 1000)
       return;
 
     synchronized (Monitor.class) {
@@ -376,7 +377,7 @@ public class Monitor {
     } finally {
       synchronized (Monitor.class) {
         fetching = false;
-        lastRecalc = currentTime;
+        lastRecalc.set(currentTime);
       }
     }
   }


[06/11] accumulo git commit: ACCUMULO-3866 Close the TraceScopes just in case.

Posted by el...@apache.org.
ACCUMULO-3866 Close the TraceScopes just in case.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/447d38bf
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/447d38bf
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/447d38bf

Branch: refs/heads/1.7
Commit: 447d38bf6159789e7402da278efed83f5573e4b8
Parents: 7c112a0
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 19:52:05 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:19 2015 -0400

----------------------------------------------------------------------
 core/src/main/java/org/apache/accumulo/core/trace/Trace.java      | 3 ++-
 .../src/main/java/org/apache/accumulo/trace/instrument/Trace.java | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/447d38bf/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/Trace.java b/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
index 052c772..3ebd031 100644
--- a/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
+++ b/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
@@ -50,7 +50,8 @@ public class Trace {
     org.apache.htrace.Span span = org.apache.htrace.Trace.currentSpan();
     if (span != null) {
       span.stop();
-      org.apache.htrace.Tracer.getInstance().continueSpan(null);
+      // close() will no-op, but ensure safety if the implementation changes
+      org.apache.htrace.Tracer.getInstance().continueSpan(null).close();
     }
   }
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/447d38bf/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
----------------------------------------------------------------------
diff --git a/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java b/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
index 0d4b0cc..027fe8f 100644
--- a/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
+++ b/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
@@ -64,7 +64,8 @@ public class Trace extends org.apache.accumulo.core.trace.Trace {
   public static void endThread(Span span) {
     if (span != null) {
       span.stop();
-      org.apache.htrace.Tracer.getInstance().continueSpan(null);
+      // close() will no-op, but ensure safety if the implementation changes
+      org.apache.htrace.Tracer.getInstance().continueSpan(null).close();
     }
   }
 


[10/11] accumulo git commit: ACCUMULO-3859 Ensure multiple TableConfiguration instances are not created.

Posted by el...@apache.org.
ACCUMULO-3859 Ensure multiple TableConfiguration instances are not created.

If an instance of a TableConfiguration is cached which isn't the same
instance held by a Tablet, this will result in the Tablet never
receiving updates for constraints and more.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/44cd4703
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/44cd4703
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/44cd4703

Branch: refs/heads/1.7
Commit: 44cd47035a5d0a306717a0e018f771fdb68ed65c
Parents: 1ad4bfa
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 13:28:13 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:20 2015 -0400

----------------------------------------------------------------------
 .../server/conf/ServerConfigurationFactory.java | 31 +++++++++++++-------
 1 file changed, 20 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/44cd4703/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java b/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java
index a45ff56..4ad1d5f 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java
@@ -34,14 +34,9 @@ import org.apache.accumulo.fate.zookeeper.ZooCacheFactory;
  */
 public class ServerConfigurationFactory extends ServerConfiguration {
 
-  private static final Map<String,Map<String,TableConfiguration>> tableConfigs;
-  private static final Map<String,Map<String,NamespaceConfiguration>> namespaceConfigs;
-  private static final Map<String,Map<String,NamespaceConfiguration>> tableParentConfigs;
-  static {
-    tableConfigs = new HashMap<String,Map<String,TableConfiguration>>(1);
-    namespaceConfigs = new HashMap<String,Map<String,NamespaceConfiguration>>(1);
-    tableParentConfigs = new HashMap<String,Map<String,NamespaceConfiguration>>(1);
-  }
+  private static final Map<String,Map<String,TableConfiguration>> tableConfigs = new HashMap<String,Map<String,TableConfiguration>>(1);
+  private static final Map<String,Map<String,NamespaceConfiguration>> namespaceConfigs = new HashMap<String,Map<String,NamespaceConfiguration>>(1);
+  private static final Map<String,Map<String,NamespaceConfiguration>> tableParentConfigs = new HashMap<String,Map<String,NamespaceConfiguration>>(1);
 
   private static void addInstanceToCaches(String iid) {
     synchronized (tableConfigs) {
@@ -154,13 +149,27 @@ public class ServerConfigurationFactory extends ServerConfiguration {
     synchronized (tableConfigs) {
       conf = tableConfigs.get(instanceID).get(tableId);
     }
-    // can't hold the lock during the construction and validation of the config,
-    // which may result in creating multiple objects for the same id, but that's ok.
+
+    // Can't hold the lock during the construction and validation of the config,
+    // which would result in creating multiple objects for the same id.
+    //
+    // ACCUMULO-3859 We _cannot_ all multiple instances to be created for a table. If the TableConfiguration
+    // instance a Tablet holds is not the same as the one cached here, any ConfigurationObservers that
+    // Tablet sets will never see updates from ZooKeeper which means that things like constraints and
+    // default visibility labels will never be updated in a Tablet until it is reloaded.
     if (conf == null && Tables.exists(instance, tableId)) {
       conf = new TableConfiguration(instance, tableId, getNamespaceConfigurationForTable(tableId));
       ConfigSanityCheck.validate(conf);
       synchronized (tableConfigs) {
-        tableConfigs.get(instanceID).put(tableId, conf);
+        Map<String,TableConfiguration> configs = tableConfigs.get(instanceID);
+        TableConfiguration existingConf = configs.get(tableId);
+        if (null == existingConf) {
+          // Configuration doesn't exist yet
+          configs.put(tableId, conf);
+        } else {
+          // Someone beat us to the punch, reuse their instance instead of replacing it
+          conf = existingConf;
+        }
       }
     }
     return conf;


[09/11] accumulo git commit: ACCUMULO-3859 Ensure multiple TableConfiguration instances are not created.

Posted by el...@apache.org.
ACCUMULO-3859 Ensure multiple TableConfiguration instances are not created.

If an instance of a TableConfiguration is cached which isn't the same
instance held by a Tablet, this will result in the Tablet never
receiving updates for constraints and more.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/44cd4703
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/44cd4703
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/44cd4703

Branch: refs/heads/master
Commit: 44cd47035a5d0a306717a0e018f771fdb68ed65c
Parents: 1ad4bfa
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 13:28:13 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:20 2015 -0400

----------------------------------------------------------------------
 .../server/conf/ServerConfigurationFactory.java | 31 +++++++++++++-------
 1 file changed, 20 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/44cd4703/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java b/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java
index a45ff56..4ad1d5f 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfigurationFactory.java
@@ -34,14 +34,9 @@ import org.apache.accumulo.fate.zookeeper.ZooCacheFactory;
  */
 public class ServerConfigurationFactory extends ServerConfiguration {
 
-  private static final Map<String,Map<String,TableConfiguration>> tableConfigs;
-  private static final Map<String,Map<String,NamespaceConfiguration>> namespaceConfigs;
-  private static final Map<String,Map<String,NamespaceConfiguration>> tableParentConfigs;
-  static {
-    tableConfigs = new HashMap<String,Map<String,TableConfiguration>>(1);
-    namespaceConfigs = new HashMap<String,Map<String,NamespaceConfiguration>>(1);
-    tableParentConfigs = new HashMap<String,Map<String,NamespaceConfiguration>>(1);
-  }
+  private static final Map<String,Map<String,TableConfiguration>> tableConfigs = new HashMap<String,Map<String,TableConfiguration>>(1);
+  private static final Map<String,Map<String,NamespaceConfiguration>> namespaceConfigs = new HashMap<String,Map<String,NamespaceConfiguration>>(1);
+  private static final Map<String,Map<String,NamespaceConfiguration>> tableParentConfigs = new HashMap<String,Map<String,NamespaceConfiguration>>(1);
 
   private static void addInstanceToCaches(String iid) {
     synchronized (tableConfigs) {
@@ -154,13 +149,27 @@ public class ServerConfigurationFactory extends ServerConfiguration {
     synchronized (tableConfigs) {
       conf = tableConfigs.get(instanceID).get(tableId);
     }
-    // can't hold the lock during the construction and validation of the config,
-    // which may result in creating multiple objects for the same id, but that's ok.
+
+    // Can't hold the lock during the construction and validation of the config,
+    // which would result in creating multiple objects for the same id.
+    //
+    // ACCUMULO-3859 We _cannot_ all multiple instances to be created for a table. If the TableConfiguration
+    // instance a Tablet holds is not the same as the one cached here, any ConfigurationObservers that
+    // Tablet sets will never see updates from ZooKeeper which means that things like constraints and
+    // default visibility labels will never be updated in a Tablet until it is reloaded.
     if (conf == null && Tables.exists(instance, tableId)) {
       conf = new TableConfiguration(instance, tableId, getNamespaceConfigurationForTable(tableId));
       ConfigSanityCheck.validate(conf);
       synchronized (tableConfigs) {
-        tableConfigs.get(instanceID).put(tableId, conf);
+        Map<String,TableConfiguration> configs = tableConfigs.get(instanceID);
+        TableConfiguration existingConf = configs.get(tableId);
+        if (null == existingConf) {
+          // Configuration doesn't exist yet
+          configs.put(tableId, conf);
+        } else {
+          // Someone beat us to the punch, reuse their instance instead of replacing it
+          conf = existingConf;
+        }
       }
     }
     return conf;


[05/11] accumulo git commit: ACCUMULO-3868 Ensure FileInputStream is closed

Posted by el...@apache.org.
ACCUMULO-3868 Ensure FileInputStream is closed


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/7432c5c4
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/7432c5c4
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/7432c5c4

Branch: refs/heads/master
Commit: 7432c5c4251bff72ed1bf5d6ff6589b6e39ae6c7
Parents: 447d38b
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 20:02:39 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:19 2015 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/accumulo/test/scalability/Run.java    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/7432c5c4/test/src/main/java/org/apache/accumulo/test/scalability/Run.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/scalability/Run.java b/test/src/main/java/org/apache/accumulo/test/scalability/Run.java
index 744dc42..ab16574 100644
--- a/test/src/main/java/org/apache/accumulo/test/scalability/Run.java
+++ b/test/src/main/java/org/apache/accumulo/test/scalability/Run.java
@@ -68,7 +68,11 @@ public class Run {
         fis.close();
       }
       fis = new FileInputStream(testPath);
-      testProps.load(fis);
+      try {
+        testProps.load(fis);
+      } finally {
+        fis.close();
+      }
     } catch (Exception e) {
       log.error("Error loading config file.", e);
     }


[03/11] accumulo git commit: ACCUMULO-3867 Switch concurrently-accessed long to AtomicLong

Posted by el...@apache.org.
ACCUMULO-3867 Switch concurrently-accessed long to AtomicLong


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/7c112a06
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/7c112a06
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/7c112a06

Branch: refs/heads/master
Commit: 7c112a06fbd3337f0517f8a0f14fe7eeff7f9512
Parents: f7b0930
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 19:49:31 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:19 2015 -0400

----------------------------------------------------------------------
 .../src/main/java/org/apache/accumulo/monitor/Monitor.java    | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/7c112a06/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index abdaa4b..6e00863 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@ -30,6 +30,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TimerTask;
+import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.atomic.AtomicReference;
 
 import org.apache.accumulo.core.Constants;
@@ -105,7 +106,7 @@ public class Monitor {
   private static final Logger log = LoggerFactory.getLogger(Monitor.class);
 
   private static final int REFRESH_TIME = 5;
-  private static long lastRecalc = 0L;
+  private static AtomicLong lastRecalc = new AtomicLong(0L);
   private static double totalIngestRate = 0.0;
   private static double totalQueryRate = 0.0;
   private static double totalScanRate = 0.0;
@@ -242,7 +243,7 @@ public class Monitor {
 
     // only recalc every so often
     long currentTime = System.currentTimeMillis();
-    if (currentTime - lastRecalc < REFRESH_TIME * 1000)
+    if (currentTime - lastRecalc.get() < REFRESH_TIME * 1000)
       return;
 
     synchronized (Monitor.class) {
@@ -376,7 +377,7 @@ public class Monitor {
     } finally {
       synchronized (Monitor.class) {
         fetching = false;
-        lastRecalc = currentTime;
+        lastRecalc.set(currentTime);
       }
     }
   }


[08/11] accumulo git commit: ACCUMULO-3869 Explicitly ensure null object was not returned

Posted by el...@apache.org.
ACCUMULO-3869 Explicitly ensure null object was not returned


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/1ad4bfa0
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/1ad4bfa0
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/1ad4bfa0

Branch: refs/heads/master
Commit: 1ad4bfa0905b12e7ba2a5d2cc7d47d5130a78e7f
Parents: 7432c5c
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 20:15:32 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:19 2015 -0400

----------------------------------------------------------------------
 .../org/apache/accumulo/master/tableOps/CreateImportDir.java     | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/1ad4bfa0/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java
----------------------------------------------------------------------
diff --git a/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java b/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java
index 69dcc49..cb70c68 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateImportDir.java
@@ -48,6 +48,10 @@ class CreateImportDir extends MasterRepo {
     log.info("Looking for matching filesystem for " + exportDir + " from options " + Arrays.toString(tableDirs));
     Path base = master.getFileSystem().matchingFileSystem(exportDir, tableDirs);
     log.info("Chose base table directory of " + base);
+    // Sanity check that a valid FileSystem was found for the exportDir
+    if (null == base) {
+      throw new RuntimeException("Could not determine matching FileSystem for " + exportDir);
+    }
     Path directory = new Path(base, tableInfo.tableId);
 
     Path newBulkDir = new Path(directory, Constants.BULK_PREFIX + namer.getNextName());


[02/11] accumulo git commit: ACCUMULO-3868 Ensure FileInputStream is closed

Posted by el...@apache.org.
ACCUMULO-3868 Ensure FileInputStream is closed


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/7432c5c4
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/7432c5c4
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/7432c5c4

Branch: refs/heads/1.7
Commit: 7432c5c4251bff72ed1bf5d6ff6589b6e39ae6c7
Parents: 447d38b
Author: Josh Elser <el...@apache.org>
Authored: Thu May 28 20:02:39 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu May 28 21:14:19 2015 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/accumulo/test/scalability/Run.java    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/7432c5c4/test/src/main/java/org/apache/accumulo/test/scalability/Run.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/scalability/Run.java b/test/src/main/java/org/apache/accumulo/test/scalability/Run.java
index 744dc42..ab16574 100644
--- a/test/src/main/java/org/apache/accumulo/test/scalability/Run.java
+++ b/test/src/main/java/org/apache/accumulo/test/scalability/Run.java
@@ -68,7 +68,11 @@ public class Run {
         fis.close();
       }
       fis = new FileInputStream(testPath);
-      testProps.load(fis);
+      try {
+        testProps.load(fis);
+      } finally {
+        fis.close();
+      }
     } catch (Exception e) {
       log.error("Error loading config file.", e);
     }