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);
}