Search in sources :

Example 1 with Result

use of org.apache.accumulo.core.client.ConditionalWriter.Result in project accumulo by apache.

the class ProxyServer method updateRowsConditionally.

@Override
public Map<ByteBuffer, ConditionalStatus> updateRowsConditionally(String conditionalWriter, Map<ByteBuffer, ConditionalUpdates> updates) throws UnknownWriter, org.apache.accumulo.proxy.thrift.AccumuloException, org.apache.accumulo.proxy.thrift.AccumuloSecurityException, TException {
    ConditionalWriter cw = conditionalWriterCache.getIfPresent(UUID.fromString(conditionalWriter));
    if (cw == null) {
        throw new UnknownWriter();
    }
    try {
        HashMap<Text, ColumnVisibility> vizMap = new HashMap<>();
        ArrayList<ConditionalMutation> cmuts = new ArrayList<>(updates.size());
        for (Entry<ByteBuffer, ConditionalUpdates> cu : updates.entrySet()) {
            ConditionalMutation cmut = new ConditionalMutation(ByteBufferUtil.toBytes(cu.getKey()));
            for (Condition tcond : cu.getValue().conditions) {
                org.apache.accumulo.core.data.Condition cond = new org.apache.accumulo.core.data.Condition(tcond.column.getColFamily(), tcond.column.getColQualifier());
                if (tcond.getColumn().getColVisibility() != null && tcond.getColumn().getColVisibility().length > 0) {
                    cond.setVisibility(getCahcedCV(vizMap, tcond.getColumn().getColVisibility()));
                }
                if (tcond.isSetValue())
                    cond.setValue(tcond.getValue());
                if (tcond.isSetTimestamp())
                    cond.setTimestamp(tcond.getTimestamp());
                if (tcond.isSetIterators()) {
                    cond.setIterators(getIteratorSettings(tcond.getIterators()).toArray(new IteratorSetting[tcond.getIterators().size()]));
                }
                cmut.addCondition(cond);
            }
            addUpdatesToMutation(vizMap, cmut, cu.getValue().updates);
            cmuts.add(cmut);
        }
        Iterator<Result> results = cw.write(cmuts.iterator());
        HashMap<ByteBuffer, ConditionalStatus> resultMap = new HashMap<>();
        while (results.hasNext()) {
            Result result = results.next();
            ByteBuffer row = ByteBuffer.wrap(result.getMutation().getRow());
            ConditionalStatus status = ConditionalStatus.valueOf(result.getStatus().name());
            resultMap.put(row, status);
        }
        return resultMap;
    } catch (Exception e) {
        handleException(e);
        return null;
    }
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ScanResult(org.apache.accumulo.proxy.thrift.ScanResult) Result(org.apache.accumulo.core.client.ConditionalWriter.Result) ConditionalMutation(org.apache.accumulo.core.data.ConditionalMutation) UnknownWriter(org.apache.accumulo.proxy.thrift.UnknownWriter) ConditionalUpdates(org.apache.accumulo.proxy.thrift.ConditionalUpdates) ColumnVisibility(org.apache.accumulo.core.security.ColumnVisibility) Condition(org.apache.accumulo.proxy.thrift.Condition) Text(org.apache.hadoop.io.Text) ByteBuffer(java.nio.ByteBuffer) TableNotFoundException(org.apache.accumulo.core.client.TableNotFoundException) NamespaceNotFoundException(org.apache.accumulo.core.client.NamespaceNotFoundException) MutationsRejectedException(org.apache.accumulo.core.client.MutationsRejectedException) TableExistsException(org.apache.accumulo.core.client.TableExistsException) TException(org.apache.thrift.TException) NoMoreEntriesException(org.apache.accumulo.proxy.thrift.NoMoreEntriesException) ThriftTableOperationException(org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException) NamespaceExistsException(org.apache.accumulo.core.client.NamespaceExistsException) NamespaceNotEmptyException(org.apache.accumulo.core.client.NamespaceNotEmptyException) AccumuloSecurityException(org.apache.accumulo.core.client.AccumuloSecurityException) AccumuloException(org.apache.accumulo.core.client.AccumuloException) ConditionalWriter(org.apache.accumulo.core.client.ConditionalWriter) IteratorSetting(org.apache.accumulo.core.client.IteratorSetting) ConditionalStatus(org.apache.accumulo.proxy.thrift.ConditionalStatus)

Example 2 with Result

use of org.apache.accumulo.core.client.ConditionalWriter.Result in project accumulo by apache.

the class ConditionalWriterIT method testTableAndConditionIterators.

@Test
public void testTableAndConditionIterators() throws Exception {
    // test w/ table that has iterators configured
    Connector conn = getConnector();
    String tableName = getUniqueNames(1)[0];
    IteratorSetting aiConfig1 = new IteratorSetting(30, "AI1", AddingIterator.class);
    aiConfig1.addOption("amount", "2");
    IteratorSetting aiConfig2 = new IteratorSetting(35, "MI1", MultiplyingIterator.class);
    aiConfig2.addOption("amount", "3");
    IteratorSetting aiConfig3 = new IteratorSetting(40, "AI2", AddingIterator.class);
    aiConfig3.addOption("amount", "5");
    conn.tableOperations().create(tableName);
    BatchWriter bw = conn.createBatchWriter(tableName, new BatchWriterConfig());
    Mutation m = new Mutation("ACCUMULO-1000");
    m.put("count", "comments", "6");
    bw.addMutation(m);
    m = new Mutation("ACCUMULO-1001");
    m.put("count", "comments", "7");
    bw.addMutation(m);
    m = new Mutation("ACCUMULO-1002");
    m.put("count", "comments", "8");
    bw.addMutation(m);
    bw.close();
    conn.tableOperations().attachIterator(tableName, aiConfig1, EnumSet.of(IteratorScope.scan));
    conn.tableOperations().offline(tableName, true);
    conn.tableOperations().online(tableName, true);
    try (ConditionalWriter cw = conn.createConditionalWriter(tableName, new ConditionalWriterConfig());
        Scanner scanner = conn.createScanner(tableName, new Authorizations())) {
        ConditionalMutation cm6 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setValue("8"));
        cm6.put("count", "comments", "7");
        Assert.assertEquals(Status.ACCEPTED, cw.write(cm6).getStatus());
        scanner.setRange(new Range("ACCUMULO-1000"));
        scanner.fetchColumn(new Text("count"), new Text("comments"));
        Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
        Assert.assertEquals("9", entry.getValue().toString());
        ConditionalMutation cm7 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setIterators(aiConfig2).setValue("27"));
        cm7.put("count", "comments", "8");
        Assert.assertEquals(Status.ACCEPTED, cw.write(cm7).getStatus());
        entry = Iterables.getOnlyElement(scanner);
        Assert.assertEquals("10", entry.getValue().toString());
        ConditionalMutation cm8 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setIterators(aiConfig2, aiConfig3).setValue("35"));
        cm8.put("count", "comments", "9");
        Assert.assertEquals(Status.ACCEPTED, cw.write(cm8).getStatus());
        entry = Iterables.getOnlyElement(scanner);
        Assert.assertEquals("11", entry.getValue().toString());
        ConditionalMutation cm3 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setIterators(aiConfig2).setValue("33"));
        cm3.put("count", "comments", "3");
        ConditionalMutation cm4 = new ConditionalMutation("ACCUMULO-1001", new Condition("count", "comments").setIterators(aiConfig3).setValue("14"));
        cm4.put("count", "comments", "3");
        ConditionalMutation cm5 = new ConditionalMutation("ACCUMULO-1002", new Condition("count", "comments").setIterators(aiConfig3).setValue("10"));
        cm5.put("count", "comments", "3");
        Iterator<Result> results = cw.write(Arrays.asList(cm3, cm4, cm5).iterator());
        Map<String, Status> actual = new HashMap<>();
        while (results.hasNext()) {
            Result result = results.next();
            String k = new String(result.getMutation().getRow());
            Assert.assertFalse("Did not expect to see multiple resultus for the row: " + k, actual.containsKey(k));
            actual.put(k, result.getStatus());
        }
        Map<String, Status> expected = new HashMap<>();
        expected.put("ACCUMULO-1000", Status.ACCEPTED);
        expected.put("ACCUMULO-1001", Status.ACCEPTED);
        expected.put("ACCUMULO-1002", Status.REJECTED);
        Assert.assertEquals(expected, actual);
    }
}
Also used : Condition(org.apache.accumulo.core.data.Condition) Status(org.apache.accumulo.core.client.ConditionalWriter.Status) Connector(org.apache.accumulo.core.client.Connector) IsolatedScanner(org.apache.accumulo.core.client.IsolatedScanner) Scanner(org.apache.accumulo.core.client.Scanner) Authorizations(org.apache.accumulo.core.security.Authorizations) HashMap(java.util.HashMap) Text(org.apache.hadoop.io.Text) Range(org.apache.accumulo.core.data.Range) Result(org.apache.accumulo.core.client.ConditionalWriter.Result) ConditionalWriter(org.apache.accumulo.core.client.ConditionalWriter) ConditionalMutation(org.apache.accumulo.core.data.ConditionalMutation) IteratorSetting(org.apache.accumulo.core.client.IteratorSetting) Value(org.apache.accumulo.core.data.Value) BatchWriterConfig(org.apache.accumulo.core.client.BatchWriterConfig) ConditionalWriterConfig(org.apache.accumulo.core.client.ConditionalWriterConfig) BatchWriter(org.apache.accumulo.core.client.BatchWriter) Mutation(org.apache.accumulo.core.data.Mutation) ConditionalMutation(org.apache.accumulo.core.data.ConditionalMutation) Key(org.apache.accumulo.core.data.Key) Test(org.junit.Test)

Example 3 with Result

use of org.apache.accumulo.core.client.ConditionalWriter.Result in project accumulo by apache.

the class ConditionalWriterIT method testDeleteTable.

@Test
public void testDeleteTable() throws Exception {
    String table = getUniqueNames(1)[0];
    Connector conn = getConnector();
    try {
        conn.createConditionalWriter(table, new ConditionalWriterConfig());
        Assert.fail("Creating conditional writer for table that doesn't exist should fail");
    } catch (TableNotFoundException e) {
    }
    conn.tableOperations().create(table);
    try (ConditionalWriter cw = conn.createConditionalWriter(table, new ConditionalWriterConfig())) {
        conn.tableOperations().delete(table);
        ConditionalMutation cm1 = new ConditionalMutation("r1", new Condition("tx", "seq"));
        cm1.put("tx", "seq", "1");
        cm1.put("data", "x", "a");
        Result result = cw.write(cm1);
        try {
            Status status = result.getStatus();
            Assert.fail("Expected exception writing conditional mutation to deleted table. Got status: " + status);
        } catch (AccumuloException ae) {
            Assert.assertEquals(TableDeletedException.class, ae.getCause().getClass());
        }
    }
}
Also used : Condition(org.apache.accumulo.core.data.Condition) Status(org.apache.accumulo.core.client.ConditionalWriter.Status) Connector(org.apache.accumulo.core.client.Connector) TableNotFoundException(org.apache.accumulo.core.client.TableNotFoundException) ConditionalWriter(org.apache.accumulo.core.client.ConditionalWriter) AccumuloException(org.apache.accumulo.core.client.AccumuloException) ConditionalMutation(org.apache.accumulo.core.data.ConditionalMutation) ConditionalWriterConfig(org.apache.accumulo.core.client.ConditionalWriterConfig) TableDeletedException(org.apache.accumulo.core.client.TableDeletedException) Result(org.apache.accumulo.core.client.ConditionalWriter.Result) Test(org.junit.Test)

Example 4 with Result

use of org.apache.accumulo.core.client.ConditionalWriter.Result in project accumulo by apache.

the class ConditionalWriterIT method testIterators.

@Test
public void testIterators() throws Exception {
    Connector conn = getConnector();
    String tableName = getUniqueNames(1)[0];
    conn.tableOperations().create(tableName, new NewTableConfiguration().withoutDefaultIterators());
    BatchWriter bw = conn.createBatchWriter(tableName, new BatchWriterConfig());
    Mutation m = new Mutation("ACCUMULO-1000");
    m.put("count", "comments", "1");
    bw.addMutation(m);
    bw.addMutation(m);
    bw.addMutation(m);
    m = new Mutation("ACCUMULO-1001");
    m.put("count2", "comments", "1");
    bw.addMutation(m);
    bw.addMutation(m);
    m = new Mutation("ACCUMULO-1002");
    m.put("count2", "comments", "1");
    bw.addMutation(m);
    bw.addMutation(m);
    bw.close();
    IteratorSetting iterConfig = new IteratorSetting(10, SummingCombiner.class);
    SummingCombiner.setEncodingType(iterConfig, Type.STRING);
    SummingCombiner.setColumns(iterConfig, Collections.singletonList(new IteratorSetting.Column("count")));
    IteratorSetting iterConfig2 = new IteratorSetting(10, SummingCombiner.class);
    SummingCombiner.setEncodingType(iterConfig2, Type.STRING);
    SummingCombiner.setColumns(iterConfig2, Collections.singletonList(new IteratorSetting.Column("count2", "comments")));
    IteratorSetting iterConfig3 = new IteratorSetting(5, VersioningIterator.class);
    VersioningIterator.setMaxVersions(iterConfig3, 1);
    try (Scanner scanner = conn.createScanner(tableName, new Authorizations())) {
        scanner.addScanIterator(iterConfig);
        scanner.setRange(new Range("ACCUMULO-1000"));
        scanner.fetchColumn(new Text("count"), new Text("comments"));
        Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
        Assert.assertEquals("3", entry.getValue().toString());
        try (ConditionalWriter cw = conn.createConditionalWriter(tableName, new ConditionalWriterConfig())) {
            ConditionalMutation cm0 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setValue("3"));
            cm0.put("count", "comments", "1");
            Assert.assertEquals(Status.REJECTED, cw.write(cm0).getStatus());
            entry = Iterables.getOnlyElement(scanner);
            Assert.assertEquals("3", entry.getValue().toString());
            ConditionalMutation cm1 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setIterators(iterConfig).setValue("3"));
            cm1.put("count", "comments", "1");
            Assert.assertEquals(Status.ACCEPTED, cw.write(cm1).getStatus());
            entry = Iterables.getOnlyElement(scanner);
            Assert.assertEquals("4", entry.getValue().toString());
            ConditionalMutation cm2 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setValue("4"));
            cm2.put("count", "comments", "1");
            Assert.assertEquals(Status.REJECTED, cw.write(cm1).getStatus());
            entry = Iterables.getOnlyElement(scanner);
            Assert.assertEquals("4", entry.getValue().toString());
            // run test with multiple iterators passed in same batch and condition with two iterators
            ConditionalMutation cm3 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setIterators(iterConfig).setValue("4"));
            cm3.put("count", "comments", "1");
            ConditionalMutation cm4 = new ConditionalMutation("ACCUMULO-1001", new Condition("count2", "comments").setIterators(iterConfig2).setValue("2"));
            cm4.put("count2", "comments", "1");
            ConditionalMutation cm5 = new ConditionalMutation("ACCUMULO-1002", new Condition("count2", "comments").setIterators(iterConfig2, iterConfig3).setValue("2"));
            cm5.put("count2", "comments", "1");
            Iterator<Result> results = cw.write(Arrays.asList(cm3, cm4, cm5).iterator());
            Map<String, Status> actual = new HashMap<>();
            while (results.hasNext()) {
                Result result = results.next();
                String k = new String(result.getMutation().getRow());
                Assert.assertFalse("Did not expect to see multiple resultus for the row: " + k, actual.containsKey(k));
                actual.put(k, result.getStatus());
            }
            Map<String, Status> expected = new HashMap<>();
            expected.put("ACCUMULO-1000", Status.ACCEPTED);
            expected.put("ACCUMULO-1001", Status.ACCEPTED);
            expected.put("ACCUMULO-1002", Status.REJECTED);
            Assert.assertEquals(expected, actual);
        }
    }
}
Also used : Condition(org.apache.accumulo.core.data.Condition) Status(org.apache.accumulo.core.client.ConditionalWriter.Status) Connector(org.apache.accumulo.core.client.Connector) IsolatedScanner(org.apache.accumulo.core.client.IsolatedScanner) Scanner(org.apache.accumulo.core.client.Scanner) Authorizations(org.apache.accumulo.core.security.Authorizations) HashMap(java.util.HashMap) Text(org.apache.hadoop.io.Text) Range(org.apache.accumulo.core.data.Range) Result(org.apache.accumulo.core.client.ConditionalWriter.Result) ConditionalWriter(org.apache.accumulo.core.client.ConditionalWriter) ConditionalMutation(org.apache.accumulo.core.data.ConditionalMutation) IteratorSetting(org.apache.accumulo.core.client.IteratorSetting) NewTableConfiguration(org.apache.accumulo.core.client.admin.NewTableConfiguration) Value(org.apache.accumulo.core.data.Value) BatchWriterConfig(org.apache.accumulo.core.client.BatchWriterConfig) ConditionalWriterConfig(org.apache.accumulo.core.client.ConditionalWriterConfig) BatchWriter(org.apache.accumulo.core.client.BatchWriter) Mutation(org.apache.accumulo.core.data.Mutation) ConditionalMutation(org.apache.accumulo.core.data.ConditionalMutation) Key(org.apache.accumulo.core.data.Key) Test(org.junit.Test)

Example 5 with Result

use of org.apache.accumulo.core.client.ConditionalWriter.Result in project accumulo by apache.

the class ConditionalWriterIT method testBatch.

@Test
public void testBatch() throws Exception {
    Connector conn = getConnector();
    String tableName = getUniqueNames(1)[0];
    conn.tableOperations().create(tableName);
    conn.securityOperations().changeUserAuthorizations(getAdminPrincipal(), new Authorizations("A", "B"));
    ColumnVisibility cvab = new ColumnVisibility("A|B");
    ArrayList<ConditionalMutation> mutations = new ArrayList<>();
    ConditionalMutation cm0 = new ConditionalMutation("99006", new Condition("tx", "seq").setVisibility(cvab));
    cm0.put("name", "last", cvab, "doe");
    cm0.put("name", "first", cvab, "john");
    cm0.put("tx", "seq", cvab, "1");
    mutations.add(cm0);
    ConditionalMutation cm1 = new ConditionalMutation("59056", new Condition("tx", "seq").setVisibility(cvab));
    cm1.put("name", "last", cvab, "doe");
    cm1.put("name", "first", cvab, "jane");
    cm1.put("tx", "seq", cvab, "1");
    mutations.add(cm1);
    ConditionalMutation cm2 = new ConditionalMutation("19059", new Condition("tx", "seq").setVisibility(cvab));
    cm2.put("name", "last", cvab, "doe");
    cm2.put("name", "first", cvab, "jack");
    cm2.put("tx", "seq", cvab, "1");
    mutations.add(cm2);
    try (ConditionalWriter cw = conn.createConditionalWriter(tableName, new ConditionalWriterConfig().setAuthorizations(new Authorizations("A")));
        Scanner scanner = conn.createScanner(tableName, new Authorizations("A"))) {
        Iterator<Result> results = cw.write(mutations.iterator());
        int count = 0;
        while (results.hasNext()) {
            Result result = results.next();
            Assert.assertEquals(Status.ACCEPTED, result.getStatus());
            count++;
        }
        Assert.assertEquals(3, count);
        scanner.fetchColumn(new Text("tx"), new Text("seq"));
        for (String row : new String[] { "99006", "59056", "19059" }) {
            scanner.setRange(new Range(row));
            Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
            Assert.assertEquals("1", entry.getValue().toString());
        }
        TreeSet<Text> splits = new TreeSet<>();
        splits.add(new Text("7"));
        splits.add(new Text("3"));
        conn.tableOperations().addSplits(tableName, splits);
        mutations.clear();
        ConditionalMutation cm3 = new ConditionalMutation("99006", new Condition("tx", "seq").setVisibility(cvab).setValue("1"));
        cm3.put("name", "last", cvab, "Doe");
        cm3.put("tx", "seq", cvab, "2");
        mutations.add(cm3);
        ConditionalMutation cm4 = new ConditionalMutation("59056", new Condition("tx", "seq").setVisibility(cvab));
        cm4.put("name", "last", cvab, "Doe");
        cm4.put("tx", "seq", cvab, "1");
        mutations.add(cm4);
        ConditionalMutation cm5 = new ConditionalMutation("19059", new Condition("tx", "seq").setVisibility(cvab).setValue("2"));
        cm5.put("name", "last", cvab, "Doe");
        cm5.put("tx", "seq", cvab, "3");
        mutations.add(cm5);
        results = cw.write(mutations.iterator());
        int accepted = 0;
        int rejected = 0;
        while (results.hasNext()) {
            Result result = results.next();
            if (new String(result.getMutation().getRow()).equals("99006")) {
                Assert.assertEquals(Status.ACCEPTED, result.getStatus());
                accepted++;
            } else {
                Assert.assertEquals(Status.REJECTED, result.getStatus());
                rejected++;
            }
        }
        Assert.assertEquals("Expected only one accepted conditional mutation", 1, accepted);
        Assert.assertEquals("Expected two rejected conditional mutations", 2, rejected);
        for (String row : new String[] { "59056", "19059" }) {
            scanner.setRange(new Range(row));
            Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
            Assert.assertEquals("1", entry.getValue().toString());
        }
        scanner.setRange(new Range("99006"));
        Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
        Assert.assertEquals("2", entry.getValue().toString());
        scanner.clearColumns();
        scanner.fetchColumn(new Text("name"), new Text("last"));
        entry = Iterables.getOnlyElement(scanner);
        Assert.assertEquals("Doe", entry.getValue().toString());
    }
}
Also used : Condition(org.apache.accumulo.core.data.Condition) Connector(org.apache.accumulo.core.client.Connector) IsolatedScanner(org.apache.accumulo.core.client.IsolatedScanner) Scanner(org.apache.accumulo.core.client.Scanner) Authorizations(org.apache.accumulo.core.security.Authorizations) ArrayList(java.util.ArrayList) Text(org.apache.hadoop.io.Text) Range(org.apache.accumulo.core.data.Range) AlphaNumKeyConstraint(org.apache.accumulo.test.constraints.AlphaNumKeyConstraint) Result(org.apache.accumulo.core.client.ConditionalWriter.Result) ConditionalWriter(org.apache.accumulo.core.client.ConditionalWriter) ConditionalMutation(org.apache.accumulo.core.data.ConditionalMutation) TreeSet(java.util.TreeSet) Value(org.apache.accumulo.core.data.Value) ConditionalWriterConfig(org.apache.accumulo.core.client.ConditionalWriterConfig) ColumnVisibility(org.apache.accumulo.core.security.ColumnVisibility) Key(org.apache.accumulo.core.data.Key) Test(org.junit.Test)

Aggregations

ConditionalWriter (org.apache.accumulo.core.client.ConditionalWriter)12 Result (org.apache.accumulo.core.client.ConditionalWriter.Result)12 ConditionalMutation (org.apache.accumulo.core.data.ConditionalMutation)12 ConditionalWriterConfig (org.apache.accumulo.core.client.ConditionalWriterConfig)11 Connector (org.apache.accumulo.core.client.Connector)10 Condition (org.apache.accumulo.core.data.Condition)10 Test (org.junit.Test)10 Status (org.apache.accumulo.core.client.ConditionalWriter.Status)6 ArrayList (java.util.ArrayList)5 AccumuloException (org.apache.accumulo.core.client.AccumuloException)5 IsolatedScanner (org.apache.accumulo.core.client.IsolatedScanner)5 Scanner (org.apache.accumulo.core.client.Scanner)5 Value (org.apache.accumulo.core.data.Value)5 Text (org.apache.hadoop.io.Text)5 IteratorSetting (org.apache.accumulo.core.client.IteratorSetting)4 Key (org.apache.accumulo.core.data.Key)4 Authorizations (org.apache.accumulo.core.security.Authorizations)4 AlphaNumKeyConstraint (org.apache.accumulo.test.constraints.AlphaNumKeyConstraint)4 HashMap (java.util.HashMap)3 Random (java.util.Random)3