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 2014/06/13 03:31:54 UTC

[3/6] git commit: ACCUMULO-2663 - Remove usage of String#split from Combiner#init

ACCUMULO-2663 - Remove usage of String#split from Combiner#init

Noticed that inside Combiner#init, the comma-separated list of columns is split out using the inefficient String#split method. This should be switched into something that doesn't used Regexs since this method is invoked a surprising amount in normal usage.

Signed-off-by: Josh Elser <el...@apache.org>


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

Branch: refs/heads/master
Commit: a3a86412bcb00bb9ba68192c9425a026072e3562
Parents: d1655a4
Author: David Protzman <dm...@gmail.com>
Authored: Thu Jun 12 20:20:02 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Jun 12 20:48:20 2014 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/accumulo/core/iterators/Combiner.java | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a86412/core/src/main/java/org/apache/accumulo/core/iterators/Combiner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/Combiner.java b/core/src/main/java/org/apache/accumulo/core/iterators/Combiner.java
index e8921e5..dd215cc 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/Combiner.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/Combiner.java
@@ -16,6 +16,7 @@
  */
 package org.apache.accumulo.core.iterators;
 
+import com.google.common.base.Splitter;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
@@ -23,6 +24,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.NoSuchElementException;
+import java.util.StringTokenizer;
 
 import org.apache.accumulo.core.client.IteratorSetting;
 import org.apache.accumulo.core.client.IteratorSetting.Column;
@@ -233,7 +235,7 @@ public abstract class Combiner extends WrappingIterator implements OptionDescrib
     if (encodedColumns.length() == 0)
       throw new IllegalArgumentException("The " + COLUMNS_OPTION + " must not be empty");
 
-    combiners = new ColumnSet(Arrays.asList(encodedColumns.split(",")));
+    combiners = new ColumnSet(Splitter.on(",").splitToList(encodedColumns));
   }
 
   @Override
@@ -277,7 +279,7 @@ public abstract class Combiner extends WrappingIterator implements OptionDescrib
     if (encodedColumns.length() == 0)
       throw new IllegalArgumentException("empty columns specified in option " + COLUMNS_OPTION);
 
-    for (String columns : encodedColumns.split(",")) {
+    for (String columns : Splitter.on(",").splitToList(encodedColumns)) {
       if (!ColumnSet.isValidEncoding(columns))
         throw new IllegalArgumentException("invalid column encoding " + encodedColumns);
     }