Merge branch 'ACCUMULO-4636' into 1.8

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

Branch: refs/heads/IGNITE
Commit: 116da380a36e5088c5bf9be70f9b88850089ac23
Parents: 54c82dc 2ff2678
Author: Mike Miller <mmil...@apache.org>
Authored: Thu May 18 14:29:13 2017 -0400
Committer: Mike Miller <mmil...@apache.org>
Committed: Thu May 18 14:29:13 2017 -0400

----------------------------------------------------------------------
 .../core/client/mock/MockScannerBase.java       |  4 +-
 .../apache/accumulo/core/iterators/Filter.java  |  5 +-
 .../core/iterators/FirstEntryInRowIterator.java | 11 ++--
 .../accumulo/core/iterators/IteratorUtil.java   |  2 +-
 .../system/ColumnFamilySkippingIterator.java    | 17 ++---
 .../iterators/system/ColumnQualifierFilter.java | 68 +++++++++++---------
 .../core/iterators/system/DeletingIterator.java | 28 ++++----
 .../core/iterators/system/VisibilityFilter.java | 51 ++++++++++-----
 .../core/iterators/user/VersioningIterator.java |  5 +-
 .../core/iterators/user/VisibilityFilter.java   | 44 +++++++++----
 .../core/iterators/system/ColumnFilterTest.java | 58 ++++++++++++-----
 .../iterators/system/VisibilityFilterTest.java  | 20 +++++-
 .../core/iterators/user/FilterTest.java         | 12 ++--
 .../user/TransformingIteratorTest.java          |  2 +-
 .../problems/ProblemReportingIterator.java      |  4 +-
 .../apache/accumulo/tserver/InMemoryMap.java    |  7 --
 .../performance/scan/CollectTabletStats.java    |  4 +-
 17 files changed, 218 insertions(+), 124 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/116da380/core/src/main/java/org/apache/accumulo/core/client/mock/MockScannerBase.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/116da380/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
----------------------------------------------------------------------
diff --cc 
core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
index 981404c,aee9771..a830da3
--- a/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
@@@ -391,12 -372,4 +391,12 @@@ public class IteratorUtil 
      }
      return toIteratorSettings(ic);
    }
 +
 +  public static SortedKeyValueIterator<Key,Value> 
setupSystemScanIterators(SortedKeyValueIterator<Key,Value> source, Set<Column> 
cols, Authorizations auths,
 +      byte[] defaultVisibility) throws IOException {
 +    DeletingIterator delIter = new DeletingIterator(source, false);
 +    ColumnFamilySkippingIterator cfsi = new 
ColumnFamilySkippingIterator(delIter);
 +    ColumnQualifierFilter colFilter = new ColumnQualifierFilter(cfsi, cols);
-     return new VisibilityFilter(colFilter, auths, defaultVisibility);
++    return VisibilityFilter.wrap(colFilter, auths, defaultVisibility);
 +  }
  }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/116da380/core/src/test/java/org/apache/accumulo/core/iterators/user/FilterTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/116da380/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
----------------------------------------------------------------------
diff --cc 
core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
index d02b7f2,ca10c65..7ff08ec
--- 
a/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
@@@ -56,53 -60,41 +56,53 @@@ import org.junit.Assert
  import org.junit.Before;
  import org.junit.Test;
  
 +import com.google.common.collect.ImmutableMap;
 +
  public class TransformingIteratorTest {
 -  private static final String TABLE_NAME = "test_table";
 +
    private static Authorizations authorizations = new Authorizations("vis0", 
"vis1", "vis2", "vis3", "vis4");
 -  private Connector connector;
 -  private Scanner scanner;
 +  private static final Map<String,String> EMPTY_OPTS = ImmutableMap.of();
 +  private TransformingIterator titer;
  
 -  @Before
 -  public void setUpMockAccumulo() throws Exception {
 -    MockInstance instance = new MockInstance("test");
 -    connector = instance.getConnector("user", new PasswordToken("password"));
 -    connector.securityOperations().changeUserAuthorizations("user", 
authorizations);
 +  private TreeMap<Key,Value> data = new TreeMap<>();
  
 -    if (connector.tableOperations().exists(TABLE_NAME))
 -      connector.tableOperations().delete(TABLE_NAME);
 -    connector.tableOperations().create(TABLE_NAME);
 -    BatchWriterConfig bwCfg = new BatchWriterConfig();
 -    bwCfg.setMaxWriteThreads(1);
 +  @Before
 +  public void createData() throws Exception {
 +    data.clear();
 +    generateRow(data, "row1");
 +    generateRow(data, "row2");
 +    generateRow(data, "row3");
 +  }
  
 -    BatchWriter bw = connector.createBatchWriter(TABLE_NAME, bwCfg);
 -    bw.addMutation(createDefaultMutation("row1"));
 -    bw.addMutation(createDefaultMutation("row2"));
 -    bw.addMutation(createDefaultMutation("row3"));
 +  private void setUpTransformIterator(Class<? extends TransformingIterator> 
clazz) throws IOException {
 +    setUpTransformIterator(clazz, true);
 +  }
  
 -    bw.flush();
 -    bw.close();
 +  private void setUpTransformIterator(Class<? extends TransformingIterator> 
clazz, boolean setupAuths) throws IOException {
 +    SortedMapIterator source = new SortedMapIterator(data);
 +    ColumnFamilySkippingIterator cfsi = new 
ColumnFamilySkippingIterator(source);
-     VisibilityFilter visFilter = new VisibilityFilter(cfsi, authorizations, 
new byte[0]);
++    SortedKeyValueIterator<Key,Value> visFilter = VisibilityFilter.wrap(cfsi, 
authorizations, new byte[0]);
 +    ReuseIterator reuserIter = new ReuseIterator();
 +    reuserIter.init(visFilter, EMPTY_OPTS, null);
 +    try {
 +      titer = clazz.newInstance();
 +    } catch (InstantiationException | IllegalAccessException e) {
 +      throw new RuntimeException(e);
 +    }
  
 -    scanner = connector.createScanner(TABLE_NAME, authorizations);
 -    scanner.addScanIterator(new IteratorSetting(20, ReuseIterator.class));
 -  }
 +    IteratorEnvironment iterEnv = 
EasyMock.createMock(IteratorEnvironment.class);
 +    
EasyMock.expect(iterEnv.getIteratorScope()).andReturn(IteratorScope.scan).anyTimes();
 +    EasyMock.replay(iterEnv);
  
 -  private void setUpTransformIterator(Class<? extends TransformingIterator> 
clazz) {
 -    IteratorSetting cfg = new IteratorSetting(21, clazz);
 -    cfg.setName("keyTransformIter");
 -    TransformingIterator.setAuthorizations(cfg, new Authorizations("vis0", 
"vis1", "vis2", "vis3"));
 -    scanner.addScanIterator(cfg);
 +    Map<String,String> opts;
 +    if (setupAuths) {
 +      IteratorSetting cfg = new IteratorSetting(21, clazz);
 +      TransformingIterator.setAuthorizations(cfg, new Authorizations("vis0", 
"vis1", "vis2", "vis3"));
 +      opts = cfg.getOptions();
 +    } else {
 +      opts = ImmutableMap.of();
 +    }
 +    titer.init(reuserIter, opts, iterEnv);
    }
  
    @Test

http://git-wip-us.apache.org/repos/asf/accumulo/blob/116da380/server/base/src/main/java/org/apache/accumulo/server/problems/ProblemReportingIterator.java
----------------------------------------------------------------------
diff --cc 
server/base/src/main/java/org/apache/accumulo/server/problems/ProblemReportingIterator.java
index 83b4615,e419780..7e1676a
--- 
a/server/base/src/main/java/org/apache/accumulo/server/problems/ProblemReportingIterator.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/problems/ProblemReportingIterator.java
@@@ -31,17 -31,17 +31,17 @@@ import org.apache.accumulo.core.iterato
  import org.apache.accumulo.server.AccumuloServerContext;
  
  public class ProblemReportingIterator implements InterruptibleIterator {
-   private SortedKeyValueIterator<Key,Value> source;
+   private final SortedKeyValueIterator<Key,Value> source;
    private boolean sawError = false;
-   private boolean continueOnError;
+   private final boolean continueOnError;
    private String resource;
 -  private String table;
 +  private String tableId;
    private final AccumuloServerContext context;
  
 -  public ProblemReportingIterator(AccumuloServerContext context, String 
table, String resource, boolean continueOnError,
 +  public ProblemReportingIterator(AccumuloServerContext context, String 
tableId, String resource, boolean continueOnError,
        SortedKeyValueIterator<Key,Value> source) {
      this.context = context;
 -    this.table = table;
 +    this.tableId = tableId;
      this.resource = resource;
      this.continueOnError = continueOnError;
      this.source = source;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/116da380/server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/116da380/test/src/main/java/org/apache/accumulo/test/performance/scan/CollectTabletStats.java
----------------------------------------------------------------------

Reply via email to