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 2017/05/15 21:29:33 UTC
[1/3] accumulo git commit: ACCUMULO-4634 : Appropriately implement
the mocked out methods of MockIteratorEnvironment per the interface
specifications.
Repository: accumulo
Updated Branches:
refs/heads/1.8 c093b561d -> 54c82dc90
refs/heads/master b78edd332 -> e605349c0
ACCUMULO-4634 : Appropriately implement the mocked out methods of MockIteratorEnvironment per the interface specifications.
Closes #258
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/54c82dc9
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/54c82dc9
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/54c82dc9
Branch: refs/heads/1.8
Commit: 54c82dc90b028d829d0dd8fce7b7deaef7becee8
Parents: c093b56
Author: Ivan Bella <iv...@bella.name>
Authored: Mon May 15 12:43:26 2017 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Mon May 15 16:53:57 2017 -0400
----------------------------------------------------------------------
.../core/client/mock/MockScannerBase.java | 7 +-
.../core/client/mock/MockScannerTest.java | 103 +++++++++++++++++++
2 files changed, 107 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/54c82dc9/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
index ad79ec0..7c8f5cc 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
@@ -23,6 +23,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Map.Entry;
+import org.apache.accumulo.core.client.SampleNotPresentException;
import org.apache.accumulo.core.client.impl.ScannerOptions;
import org.apache.accumulo.core.client.sample.SamplerConfiguration;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
@@ -115,17 +116,17 @@ public class MockScannerBase extends ScannerOptions {
@Override
public boolean isSamplingEnabled() {
- throw new UnsupportedOperationException();
+ return false;
}
@Override
public SamplerConfiguration getSamplerConfiguration() {
- throw new UnsupportedOperationException();
+ return null;
}
@Override
public IteratorEnvironment cloneWithSamplingEnabled() {
- throw new UnsupportedOperationException();
+ throw new SampleNotPresentException();
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/54c82dc9/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java b/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java
new file mode 100644
index 0000000..be77a2d
--- /dev/null
+++ b/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.mock;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.accumulo.core.client.BatchScanner;
+import org.apache.accumulo.core.client.BatchWriter;
+import org.apache.accumulo.core.client.BatchWriterConfig;
+import org.apache.accumulo.core.client.Connector;
+import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.client.SampleNotPresentException;
+import org.apache.accumulo.core.client.security.tokens.PasswordToken;
+import org.apache.accumulo.core.data.Key;
+import org.apache.accumulo.core.data.Mutation;
+import org.apache.accumulo.core.data.Range;
+import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.iterators.IteratorEnvironment;
+import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
+import org.apache.accumulo.core.iterators.WrappingIterator;
+import org.apache.accumulo.core.security.Authorizations;
+import org.junit.Test;
+
+@Deprecated
+public class MockScannerTest {
+
+ public static final String ROOT = "root";
+ public static final String TEST = "test";
+ public static final String SEP = ",";
+ public static final String A_B_C_D = 'A' + SEP + 'B' + SEP + 'C' + SEP + 'D';
+ public static final String CF = "cf";
+ public static final String CQ = "cq";
+
+ public static class DeepCopyIterator extends WrappingIterator {
+
+ @Override
+ public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException {
+ super.init(source.deepCopy(env), options, env);
+ }
+ }
+
+ @Test
+ public void testDeepCopy() throws Exception {
+ MockInstance inst = new MockInstance();
+ Connector conn = inst.getConnector(ROOT, new PasswordToken(""));
+ conn.tableOperations().create(TEST);
+ BatchWriter bw = conn.createBatchWriter(TEST, new BatchWriterConfig());
+ for (String row : A_B_C_D.split(SEP)) {
+ Mutation m = new Mutation(row);
+ m.put(CF, CQ, "");
+ bw.addMutation(m);
+ }
+ bw.flush();
+ BatchScanner bs = conn.createBatchScanner(TEST, Authorizations.EMPTY, 1);
+ IteratorSetting cfg = new IteratorSetting(100, DeepCopyIterator.class);
+ bs.addScanIterator(cfg);
+ bs.setRanges(Collections.singletonList(new Range("A", "Z")));
+ StringBuilder sb = new StringBuilder();
+ String comma = "";
+ for (Entry<Key,Value> entry : bs) {
+ sb.append(comma);
+ sb.append(entry.getKey().getRow());
+ comma = SEP;
+ }
+ assertEquals(A_B_C_D, sb.toString());
+ }
+
+ @Test
+ public void testEnvironment() throws Exception {
+ MockScannerBase.MockIteratorEnvironment env = new MockScannerBase.MockIteratorEnvironment(Authorizations.EMPTY);
+ assertFalse(env.isSamplingEnabled());
+ assertNull(env.getSamplerConfiguration());
+ try {
+ env.cloneWithSamplingEnabled();
+ fail("cloneWithSamplingEnabled should have thrown SampleNotPresentException");
+ } catch (SampleNotPresentException se) {
+ // expected
+ }
+ }
+
+}
[3/3] accumulo git commit: Merge branch '1.8'
Posted by el...@apache.org.
Merge branch '1.8'
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/e605349c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/e605349c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/e605349c
Branch: refs/heads/master
Commit: e605349c0f6b42ae8ce625e52ae0bb5a686d850d
Parents: b78edd3 54c82dc
Author: Josh Elser <el...@apache.org>
Authored: Mon May 15 17:17:24 2017 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Mon May 15 17:17:24 2017 -0400
----------------------------------------------------------------------
.../core/client/mock/MockScannerBase.java | 7 +-
.../core/client/mock/MockScannerTest.java | 103 +++++++++++++++++++
2 files changed, 107 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/e605349c/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
index 294e1d3,7c8f5cc..3c732d4
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
@@@ -23,7 -23,7 +23,8 @@@ import java.util.HashSet
import java.util.Iterator;
import java.util.Map.Entry;
+ import org.apache.accumulo.core.client.SampleNotPresentException;
+import org.apache.accumulo.core.client.ScannerBase;
import org.apache.accumulo.core.client.impl.ScannerOptions;
import org.apache.accumulo.core.client.sample.SamplerConfiguration;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
[2/3] accumulo git commit: ACCUMULO-4634 : Appropriately implement
the mocked out methods of MockIteratorEnvironment per the interface
specifications.
Posted by el...@apache.org.
ACCUMULO-4634 : Appropriately implement the mocked out methods of MockIteratorEnvironment per the interface specifications.
Closes #258
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/54c82dc9
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/54c82dc9
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/54c82dc9
Branch: refs/heads/master
Commit: 54c82dc90b028d829d0dd8fce7b7deaef7becee8
Parents: c093b56
Author: Ivan Bella <iv...@bella.name>
Authored: Mon May 15 12:43:26 2017 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Mon May 15 16:53:57 2017 -0400
----------------------------------------------------------------------
.../core/client/mock/MockScannerBase.java | 7 +-
.../core/client/mock/MockScannerTest.java | 103 +++++++++++++++++++
2 files changed, 107 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/54c82dc9/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
index ad79ec0..7c8f5cc 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
@@ -23,6 +23,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Map.Entry;
+import org.apache.accumulo.core.client.SampleNotPresentException;
import org.apache.accumulo.core.client.impl.ScannerOptions;
import org.apache.accumulo.core.client.sample.SamplerConfiguration;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
@@ -115,17 +116,17 @@ public class MockScannerBase extends ScannerOptions {
@Override
public boolean isSamplingEnabled() {
- throw new UnsupportedOperationException();
+ return false;
}
@Override
public SamplerConfiguration getSamplerConfiguration() {
- throw new UnsupportedOperationException();
+ return null;
}
@Override
public IteratorEnvironment cloneWithSamplingEnabled() {
- throw new UnsupportedOperationException();
+ throw new SampleNotPresentException();
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/54c82dc9/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java b/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java
new file mode 100644
index 0000000..be77a2d
--- /dev/null
+++ b/core/src/test/java/org/apache/accumulo/core/client/mock/MockScannerTest.java
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.mock;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.accumulo.core.client.BatchScanner;
+import org.apache.accumulo.core.client.BatchWriter;
+import org.apache.accumulo.core.client.BatchWriterConfig;
+import org.apache.accumulo.core.client.Connector;
+import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.client.SampleNotPresentException;
+import org.apache.accumulo.core.client.security.tokens.PasswordToken;
+import org.apache.accumulo.core.data.Key;
+import org.apache.accumulo.core.data.Mutation;
+import org.apache.accumulo.core.data.Range;
+import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.iterators.IteratorEnvironment;
+import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
+import org.apache.accumulo.core.iterators.WrappingIterator;
+import org.apache.accumulo.core.security.Authorizations;
+import org.junit.Test;
+
+@Deprecated
+public class MockScannerTest {
+
+ public static final String ROOT = "root";
+ public static final String TEST = "test";
+ public static final String SEP = ",";
+ public static final String A_B_C_D = 'A' + SEP + 'B' + SEP + 'C' + SEP + 'D';
+ public static final String CF = "cf";
+ public static final String CQ = "cq";
+
+ public static class DeepCopyIterator extends WrappingIterator {
+
+ @Override
+ public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException {
+ super.init(source.deepCopy(env), options, env);
+ }
+ }
+
+ @Test
+ public void testDeepCopy() throws Exception {
+ MockInstance inst = new MockInstance();
+ Connector conn = inst.getConnector(ROOT, new PasswordToken(""));
+ conn.tableOperations().create(TEST);
+ BatchWriter bw = conn.createBatchWriter(TEST, new BatchWriterConfig());
+ for (String row : A_B_C_D.split(SEP)) {
+ Mutation m = new Mutation(row);
+ m.put(CF, CQ, "");
+ bw.addMutation(m);
+ }
+ bw.flush();
+ BatchScanner bs = conn.createBatchScanner(TEST, Authorizations.EMPTY, 1);
+ IteratorSetting cfg = new IteratorSetting(100, DeepCopyIterator.class);
+ bs.addScanIterator(cfg);
+ bs.setRanges(Collections.singletonList(new Range("A", "Z")));
+ StringBuilder sb = new StringBuilder();
+ String comma = "";
+ for (Entry<Key,Value> entry : bs) {
+ sb.append(comma);
+ sb.append(entry.getKey().getRow());
+ comma = SEP;
+ }
+ assertEquals(A_B_C_D, sb.toString());
+ }
+
+ @Test
+ public void testEnvironment() throws Exception {
+ MockScannerBase.MockIteratorEnvironment env = new MockScannerBase.MockIteratorEnvironment(Authorizations.EMPTY);
+ assertFalse(env.isSamplingEnabled());
+ assertNull(env.getSamplerConfiguration());
+ try {
+ env.cloneWithSamplingEnabled();
+ fail("cloneWithSamplingEnabled should have thrown SampleNotPresentException");
+ } catch (SampleNotPresentException se) {
+ // expected
+ }
+ }
+
+}