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/01/31 05:02:02 UTC
[10/10] git commit: Make Comparators Serializable too, UTF8,
and entrySet instead of keySet
Make Comparators Serializable too, UTF8, and entrySet instead of keySet
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d1f139eb
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d1f139eb
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d1f139eb
Branch: refs/heads/2292-findbugs
Commit: d1f139eb498b93c7e3e2c127b611e2cce080cd0d
Parents: 8b56d74
Author: Josh Elser <el...@apache.org>
Authored: Thu Jan 30 23:00:39 2014 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Thu Jan 30 23:00:39 2014 -0500
----------------------------------------------------------------------
.../apache/accumulo/core/file/BloomFilterLayer.java | 5 +++--
.../core/file/rfile/bcfile/CompareUtils.java | 9 +++++++--
.../core/file/rfile/bcfile/TFileDumper.java | 3 ++-
.../core/iterators/ColumnFamilyCounter.java | 3 ++-
.../accumulo/core/iterators/IteratorUtil.java | 6 ++++--
.../accumulo/core/iterators/LongCombiner.java | 5 +++--
.../accumulo/core/iterators/conf/ColumnSet.java | 5 +++--
.../core/iterators/user/BigDecimalCombiner.java | 5 +++--
.../accumulo/core/iterators/user/GrepIterator.java | 3 ++-
.../core/iterators/user/IntersectingIterator.java | 11 ++++++-----
.../core/iterators/user/LargeRowFilter.java | 3 ++-
.../accumulo/core/iterators/user/RegExFilter.java | 3 ++-
.../core/iterators/user/RowDeletingIterator.java | 3 ++-
.../core/iterators/user/SummingArrayCombiner.java | 5 +++--
.../core/iterators/user/TransformingIterator.java | 16 +++++++++-------
15 files changed, 53 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java b/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
index e79da37..01485d3 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
@@ -36,6 +36,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.bloomfilter.DynamicBloomFilter;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
import org.apache.accumulo.core.conf.ConfigurationCopy;
@@ -433,8 +434,8 @@ public class BloomFilterLayer {
for (Integer i : vals) {
String fi = String.format("%010d", i);
- bmfw.append(new org.apache.accumulo.core.data.Key(new Text("r" + fi), new Text("cf1")), new Value(("v" + fi).getBytes()));
- bmfw.append(new org.apache.accumulo.core.data.Key(new Text("r" + fi), new Text("cf2")), new Value(("v" + fi).getBytes()));
+ bmfw.append(new org.apache.accumulo.core.data.Key(new Text("r" + fi), new Text("cf1")), new Value(("v" + fi).getBytes(Constants.UTF8)));
+ bmfw.append(new org.apache.accumulo.core.data.Key(new Text("r" + fi), new Text("cf2")), new Value(("v" + fi).getBytes(Constants.UTF8)));
}
long t2 = System.currentTimeMillis();
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/CompareUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/CompareUtils.java b/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/CompareUtils.java
index 9dba4b1..0e2bb17 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/CompareUtils.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/CompareUtils.java
@@ -16,6 +16,7 @@
*/
package org.apache.accumulo.core.file.rfile.bcfile;
+import java.io.Serializable;
import java.util.Comparator;
import org.apache.hadoop.io.RawComparator;
@@ -68,7 +69,9 @@ class CompareUtils {
}
}
- public static final class ScalarComparator implements Comparator<Scalar> {
+ public static final class ScalarComparator implements Comparator<Scalar>, Serializable {
+ private static final long serialVersionUID = 1L;
+
@Override
public int compare(Scalar o1, Scalar o2) {
long diff = o1.magnitude() - o2.magnitude();
@@ -80,7 +83,9 @@ class CompareUtils {
}
}
- public static final class MemcmpRawComparator implements RawComparator<Object> {
+ public static final class MemcmpRawComparator implements RawComparator<Object>, Serializable {
+ private static final long serialVersionUID = 1L;
+
@Override
public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) {
return WritableComparator.compareBytes(b1, s1, l1, b2, s2, l2);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/TFileDumper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/TFileDumper.java b/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/TFileDumper.java
index d5b0a1b..9b9cd51 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/TFileDumper.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/TFileDumper.java
@@ -24,6 +24,7 @@ import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.file.rfile.bcfile.BCFile.BlockRegion;
import org.apache.accumulo.core.file.rfile.bcfile.BCFile.MetaIndexEntry;
import org.apache.accumulo.core.file.rfile.bcfile.TFile.TFileIndexEntry;
@@ -208,7 +209,7 @@ class TFileDumper {
out.printf("%X", b);
}
} else {
- out.print(new String(key, 0, sampleLen));
+ out.print(new String(key, 0, sampleLen, Constants.UTF8));
}
if (sampleLen < key.length) {
out.print("...");
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/ColumnFamilyCounter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/ColumnFamilyCounter.java b/core/src/main/java/org/apache/accumulo/core/iterators/ColumnFamilyCounter.java
index f780868..b187808 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/ColumnFamilyCounter.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/ColumnFamilyCounter.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Map;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.data.ByteSequence;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Range;
@@ -58,7 +59,7 @@ public class ColumnFamilyCounter implements SortedKeyValueIterator<Key,Value> {
}
this.key = new Key(currentRow.toArray(), currentColf.toArray(), new byte[0], new byte[0], ts);
- this.value = new Value(Integer.toString(count).getBytes());
+ this.value = new Value(Integer.toString(count).getBytes(Constants.UTF8));
} else {
this.key = null;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java b/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
index 049f854..1d58c2f 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
@@ -17,6 +17,7 @@
package org.apache.accumulo.core.iterators;
import java.io.IOException;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -54,8 +55,9 @@ public class IteratorUtil {
majc, minc, scan;
}
- public static class IterInfoComparator implements Comparator<IterInfo> {
-
+ public static class IterInfoComparator implements Comparator<IterInfo>, Serializable {
+ private static final long serialVersionUID = 1L;
+
@Override
public int compare(IterInfo o1, IterInfo o2) {
return (o1.priority < o2.priority ? -1 : (o1.priority == o2.priority ? 0 : 1));
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java b/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
index da23699..a4efec9 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
@@ -23,6 +23,7 @@ import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Map;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
@@ -178,13 +179,13 @@ public abstract class LongCombiner extends TypedValueCombiner<Long> {
public static class StringEncoder implements Encoder<Long> {
@Override
public byte[] encode(Long v) {
- return Long.toString(v).getBytes();
+ return Long.toString(v).getBytes(Constants.UTF8);
}
@Override
public Long decode(byte[] b) {
try {
- return Long.parseLong(new String(b));
+ return Long.parseLong(new String(b, Constants.UTF8));
} catch (NumberFormatException nfe) {
throw new ValueFormatException(nfe);
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/conf/ColumnSet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/conf/ColumnSet.java b/core/src/main/java/org/apache/accumulo/core/iterators/conf/ColumnSet.java
index 93c1d37..985216c 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/conf/ColumnSet.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/conf/ColumnSet.java
@@ -20,6 +20,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.iterators.conf.ColumnUtil.ColFamHashKey;
import org.apache.accumulo.core.iterators.conf.ColumnUtil.ColHashKey;
@@ -135,7 +136,7 @@ public class ColumnSet {
static Text decode(String s) {
Text t = new Text();
- byte[] sb = s.getBytes();
+ byte[] sb = s.getBytes(Constants.UTF8);
// very inefficient code
for (int i = 0; i < sb.length; i++) {
@@ -143,7 +144,7 @@ public class ColumnSet {
t.append(new byte[] {sb[i]}, 0, 1);
} else {
byte hex[] = new byte[] {sb[++i], sb[++i]};
- String hs = new String(hex);
+ String hs = new String(hex, Constants.UTF8);
int b = Integer.parseInt(hs, 16);
t.append(new byte[] {(byte) b}, 0, 1);
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/user/BigDecimalCombiner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/user/BigDecimalCombiner.java b/core/src/main/java/org/apache/accumulo/core/iterators/user/BigDecimalCombiner.java
index b037e17..dfea550 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/user/BigDecimalCombiner.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/user/BigDecimalCombiner.java
@@ -21,6 +21,7 @@ import java.math.BigDecimal;
import java.util.Iterator;
import java.util.Map;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.iterators.IteratorEnvironment;
@@ -102,13 +103,13 @@ public abstract class BigDecimalCombiner extends TypedValueCombiner<BigDecimal>
public static class BigDecimalEncoder implements org.apache.accumulo.core.iterators.TypedValueCombiner.Encoder<BigDecimal> {
@Override
public byte[] encode(BigDecimal v) {
- return v.toString().getBytes();
+ return v.toString().getBytes(Constants.UTF8);
}
@Override
public BigDecimal decode(byte[] b) throws ValueFormatException {
try {
- return new BigDecimal(new String(b));
+ return new BigDecimal(new String(b, Constants.UTF8));
} catch (NumberFormatException nfe) {
throw new ValueFormatException(nfe);
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/user/GrepIterator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/user/GrepIterator.java b/core/src/main/java/org/apache/accumulo/core/iterators/user/GrepIterator.java
index ab8ca84..4f8207c 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/user/GrepIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/user/GrepIterator.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.util.Arrays;
import java.util.Map;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.data.ByteSequence;
import org.apache.accumulo.core.data.Key;
@@ -88,7 +89,7 @@ public class GrepIterator extends Filter {
@Override
public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException {
super.init(source, options, env);
- term = options.get("term").getBytes();
+ term = options.get("term").getBytes(Constants.UTF8);
}
/**
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java b/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java
index dbad38f..447200b 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java
@@ -21,6 +21,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Map;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.data.ArrayByteSequence;
import org.apache.accumulo.core.data.ByteSequence;
@@ -111,7 +112,7 @@ public class IntersectingIterator implements SortedKeyValueIterator<Key,Value> {
}
public String getTermString() {
- return (this.term == null) ? new String("Iterator") : this.term.toString();
+ return (this.term == null) ? "Iterator" : this.term.toString();
}
}
@@ -391,7 +392,7 @@ public class IntersectingIterator implements SortedKeyValueIterator<Key,Value> {
protected static String encodeColumns(Text[] columns) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < columns.length; i++) {
- sb.append(new String(Base64.encodeBase64(TextUtil.getBytes(columns[i]))));
+ sb.append(new String(Base64.encodeBase64(TextUtil.getBytes(columns[i])), Constants.UTF8));
sb.append('\n');
}
return sb.toString();
@@ -409,14 +410,14 @@ public class IntersectingIterator implements SortedKeyValueIterator<Key,Value> {
else
bytes[i] = 0;
}
- return new String(Base64.encodeBase64(bytes));
+ return new String(Base64.encodeBase64(bytes), Constants.UTF8);
}
protected static Text[] decodeColumns(String columns) {
String[] columnStrings = columns.split("\n");
Text[] columnTexts = new Text[columnStrings.length];
for (int i = 0; i < columnStrings.length; i++) {
- columnTexts[i] = new Text(Base64.decodeBase64(columnStrings[i].getBytes()));
+ columnTexts[i] = new Text(Base64.decodeBase64(columnStrings[i].getBytes(Constants.UTF8)));
}
return columnTexts;
}
@@ -430,7 +431,7 @@ public class IntersectingIterator implements SortedKeyValueIterator<Key,Value> {
if (flags == null)
return null;
- byte[] bytes = Base64.decodeBase64(flags.getBytes());
+ byte[] bytes = Base64.decodeBase64(flags.getBytes(Constants.UTF8));
boolean[] bFlags = new boolean[bytes.length];
for (int i = 0; i < bytes.length; i++) {
if (bytes[i] == 1)
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/user/LargeRowFilter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/user/LargeRowFilter.java b/core/src/main/java/org/apache/accumulo/core/iterators/user/LargeRowFilter.java
index d79604c..fdad848 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/user/LargeRowFilter.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/user/LargeRowFilter.java
@@ -23,6 +23,7 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.data.ArrayByteSequence;
import org.apache.accumulo.core.data.ByteSequence;
@@ -44,7 +45,7 @@ import org.apache.hadoop.io.Text;
*/
public class LargeRowFilter implements SortedKeyValueIterator<Key,Value>, OptionDescriber {
- public static final Value SUPPRESS_ROW_VALUE = new Value("SUPPRESS_ROW".getBytes());
+ public static final Value SUPPRESS_ROW_VALUE = new Value("SUPPRESS_ROW".getBytes(Constants.UTF8));
private static final ByteSequence EMPTY = new ArrayByteSequence(new byte[] {});
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java b/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
index b110d34..3f5669e 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
@@ -22,6 +22,7 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.data.ByteSequence;
import org.apache.accumulo.core.data.Key;
@@ -192,7 +193,7 @@ public class RegExFilter extends Filter {
this.encoding = options.get(ENCODING);
if ("".equals(this.encoding))
encoding = ENCODING_DEFAULT;
- new String("test".getBytes(), encoding);
+ new String("test".getBytes(Constants.UTF8), encoding);
} catch (UnsupportedEncodingException e) {
throw new IllegalArgumentException("invalid encoding " + ENCODING + ":" + this.encoding, e);
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/user/RowDeletingIterator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/user/RowDeletingIterator.java b/core/src/main/java/org/apache/accumulo/core/iterators/user/RowDeletingIterator.java
index b139096..45860eb 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/user/RowDeletingIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/user/RowDeletingIterator.java
@@ -21,6 +21,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.data.ArrayByteSequence;
import org.apache.accumulo.core.data.ByteSequence;
import org.apache.accumulo.core.data.Key;
@@ -48,7 +49,7 @@ import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
public class RowDeletingIterator implements SortedKeyValueIterator<Key,Value> {
- public static final Value DELETE_ROW_VALUE = new Value("DEL_ROW".getBytes());
+ public static final Value DELETE_ROW_VALUE = new Value("DEL_ROW".getBytes(Constants.UTF8));
private SortedKeyValueIterator<Key,Value> source;
private boolean propogateDeletes;
private ByteSequence currentRow;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/user/SummingArrayCombiner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/user/SummingArrayCombiner.java b/core/src/main/java/org/apache/accumulo/core/iterators/user/SummingArrayCombiner.java
index 0ab0cc0..77c829a 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/user/SummingArrayCombiner.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/user/SummingArrayCombiner.java
@@ -27,6 +27,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
@@ -207,12 +208,12 @@ public class SummingArrayCombiner extends TypedValueCombiner<List<Long>> {
sb.append(",");
sb.append(Long.toString(la.get(i)));
}
- return sb.toString().getBytes();
+ return sb.toString().getBytes(Constants.UTF8);
}
@Override
public List<Long> decode(byte[] b) {
- String[] longstrs = new String(b).split(",");
+ String[] longstrs = new String(b, Constants.UTF8).split(",");
List<Long> la = new ArrayList<Long>(longstrs.length);
for (String s : longstrs) {
if (s.length() == 0)
http://git-wip-us.apache.org/repos/asf/accumulo/blob/d1f139eb/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java b/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
index f439437..8835b1c 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
@@ -24,8 +24,10 @@ import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.NoSuchElementException;
+import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
import org.apache.accumulo.core.data.ByteSequence;
@@ -110,7 +112,7 @@ abstract public class TransformingIterator extends WrappingIterator implements O
if (scanning) {
String auths = options.get(AUTH_OPT);
if (auths != null && !auths.isEmpty()) {
- ve = new VisibilityEvaluator(new Authorizations(auths.getBytes()));
+ ve = new VisibilityEvaluator(new Authorizations(auths.getBytes(Constants.UTF8)));
visibleCache = new LRUMap(100);
}
}
@@ -141,15 +143,15 @@ abstract public class TransformingIterator extends WrappingIterator implements O
@Override
public boolean validateOptions(Map<String,String> options) {
- for (String opt : options.keySet()) {
+ for (Entry<String,String> option : options.entrySet()) {
try {
- if (opt.equals(AUTH_OPT)) {
- new Authorizations(options.get(opt).getBytes());
- } else if (opt.equals(MAX_BUFFER_SIZE_OPT)) {
- AccumuloConfiguration.getMemoryInBytes(options.get(opt));
+ if (option.getKey().equals(AUTH_OPT)) {
+ new Authorizations(option.getValue().getBytes(Constants.UTF8));
+ } else if (option.getKey().equals(MAX_BUFFER_SIZE_OPT)) {
+ AccumuloConfiguration.getMemoryInBytes(option.getValue());
}
} catch (Exception e) {
- throw new IllegalArgumentException("Failed to parse opt " + opt + " " + options.get(opt), e);
+ throw new IllegalArgumentException("Failed to parse opt " + option.getKey() + " " + option.getValue(), e);
}
}