Search in sources :

Example 46 with Authorizations

use of org.apache.accumulo.core.security.Authorizations in project accumulo by apache.

the class ConditionalWriterIT method testBatch.

@Test
public void testBatch() throws Exception {
    try (AccumuloClient client = Accumulo.newClient().from(getClientProps()).build()) {
        String tableName = getUniqueNames(1)[0];
        client.tableOperations().create(tableName);
        client.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 = client.createConditionalWriter(tableName, new ConditionalWriterConfig().setAuthorizations(new Authorizations("A")));
            Scanner scanner = client.createScanner(tableName, new Authorizations("A"))) {
            Iterator<Result> results = cw.write(mutations.iterator());
            int count = 0;
            while (results.hasNext()) {
                Result result = results.next();
                assertEquals(Status.ACCEPTED, result.getStatus());
                count++;
            }
            assertEquals(3, count);
            scanner.fetchColumn("tx", "seq");
            for (String row : new String[] { "99006", "59056", "19059" }) {
                scanner.setRange(new Range(row));
                Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
                assertEquals("1", entry.getValue().toString());
            }
            TreeSet<Text> splits = new TreeSet<>();
            splits.add(new Text("7"));
            splits.add(new Text("3"));
            client.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")) {
                    assertEquals(Status.ACCEPTED, result.getStatus());
                    accepted++;
                } else {
                    assertEquals(Status.REJECTED, result.getStatus());
                    rejected++;
                }
            }
            assertEquals("Expected only one accepted conditional mutation", 1, accepted);
            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);
                assertEquals("1", entry.getValue().toString());
            }
            scanner.setRange(new Range("99006"));
            Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
            assertEquals("2", entry.getValue().toString());
            scanner.clearColumns();
            scanner.fetchColumn("name", "last");
            entry = Iterables.getOnlyElement(scanner);
            assertEquals("Doe", entry.getValue().toString());
        }
    }
}
Also used : AccumuloClient(org.apache.accumulo.core.client.AccumuloClient) Condition(org.apache.accumulo.core.data.Condition) 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)

Example 47 with Authorizations

use of org.apache.accumulo.core.security.Authorizations in project accumulo by apache.

the class ConditionalWriterIT method testFields.

@Test
public void testFields() throws Exception {
    try (AccumuloClient client1 = Accumulo.newClient().from(getClientProps()).build()) {
        String tableName = getUniqueNames(1)[0];
        ClusterUser user1 = getUser(0);
        String user = user1.getPrincipal();
        if (saslEnabled()) {
            // The token is pointless for kerberos
            client1.securityOperations().createLocalUser(user, null);
        } else {
            client1.securityOperations().createLocalUser(user, new PasswordToken(user1.getPassword()));
        }
        Authorizations auths = new Authorizations("A", "B");
        client1.securityOperations().changeUserAuthorizations(user, auths);
        client1.securityOperations().grantSystemPermission(user, SystemPermission.CREATE_TABLE);
        try (AccumuloClient client2 = Accumulo.newClient().from(client1.properties()).as(user, user1.getToken()).build()) {
            client2.tableOperations().create(tableName);
            try (ConditionalWriter cw = client2.createConditionalWriter(tableName, new ConditionalWriterConfig().setAuthorizations(auths));
                Scanner scanner = client2.createScanner(tableName, auths)) {
                ColumnVisibility cva = new ColumnVisibility("A");
                ColumnVisibility cvb = new ColumnVisibility("B");
                ConditionalMutation cm0 = new ConditionalMutation("99006", new Condition("tx", "seq").setVisibility(cva));
                cm0.put("name", "last", cva, "doe");
                cm0.put("name", "first", cva, "john");
                cm0.put("tx", "seq", cva, "1");
                assertEquals(Status.ACCEPTED, cw.write(cm0).getStatus());
                scanner.setRange(new Range("99006"));
                // TODO verify all columns
                scanner.fetchColumn("tx", "seq");
                Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
                assertEquals("1", entry.getValue().toString());
                long ts = entry.getKey().getTimestamp();
                // test wrong colf
                ConditionalMutation cm1 = new ConditionalMutation("99006", new Condition("txA", "seq").setVisibility(cva).setValue("1"));
                cm1.put("name", "last", cva, "Doe");
                cm1.put("name", "first", cva, "John");
                cm1.put("tx", "seq", cva, "2");
                assertEquals(Status.REJECTED, cw.write(cm1).getStatus());
                // test wrong colq
                ConditionalMutation cm2 = new ConditionalMutation("99006", new Condition("tx", "seqA").setVisibility(cva).setValue("1"));
                cm2.put("name", "last", cva, "Doe");
                cm2.put("name", "first", cva, "John");
                cm2.put("tx", "seq", cva, "2");
                assertEquals(Status.REJECTED, cw.write(cm2).getStatus());
                // test wrong colv
                ConditionalMutation cm3 = new ConditionalMutation("99006", new Condition("tx", "seq").setVisibility(cvb).setValue("1"));
                cm3.put("name", "last", cva, "Doe");
                cm3.put("name", "first", cva, "John");
                cm3.put("tx", "seq", cva, "2");
                assertEquals(Status.REJECTED, cw.write(cm3).getStatus());
                // test wrong timestamp
                ConditionalMutation cm4 = new ConditionalMutation("99006", new Condition("tx", "seq").setVisibility(cva).setTimestamp(ts + 1).setValue("1"));
                cm4.put("name", "last", cva, "Doe");
                cm4.put("name", "first", cva, "John");
                cm4.put("tx", "seq", cva, "2");
                assertEquals(Status.REJECTED, cw.write(cm4).getStatus());
                // test wrong timestamp
                ConditionalMutation cm5 = new ConditionalMutation("99006", new Condition("tx", "seq").setVisibility(cva).setTimestamp(ts - 1).setValue("1"));
                cm5.put("name", "last", cva, "Doe");
                cm5.put("name", "first", cva, "John");
                cm5.put("tx", "seq", cva, "2");
                assertEquals(Status.REJECTED, cw.write(cm5).getStatus());
                // ensure no updates were made
                entry = Iterables.getOnlyElement(scanner);
                assertEquals("1", entry.getValue().toString());
                // set all columns correctly
                ConditionalMutation cm6 = new ConditionalMutation("99006", new Condition("tx", "seq").setVisibility(cva).setTimestamp(ts).setValue("1"));
                cm6.put("name", "last", cva, "Doe");
                cm6.put("name", "first", cva, "John");
                cm6.put("tx", "seq", cva, "2");
                assertEquals(Status.ACCEPTED, cw.write(cm6).getStatus());
                entry = Iterables.getOnlyElement(scanner);
                assertEquals("2", entry.getValue().toString());
            }
        }
    }
}
Also used : AccumuloClient(org.apache.accumulo.core.client.AccumuloClient) Condition(org.apache.accumulo.core.data.Condition) IsolatedScanner(org.apache.accumulo.core.client.IsolatedScanner) Scanner(org.apache.accumulo.core.client.Scanner) Authorizations(org.apache.accumulo.core.security.Authorizations) Range(org.apache.accumulo.core.data.Range) ConditionalWriter(org.apache.accumulo.core.client.ConditionalWriter) PasswordToken(org.apache.accumulo.core.client.security.tokens.PasswordToken) ConditionalMutation(org.apache.accumulo.core.data.ConditionalMutation) Value(org.apache.accumulo.core.data.Value) ClusterUser(org.apache.accumulo.cluster.ClusterUser) 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)

Example 48 with Authorizations

use of org.apache.accumulo.core.security.Authorizations in project accumulo by apache.

the class ConditionalWriterIT method testTableAndConditionIterators.

@Test
public void testTableAndConditionIterators() throws Exception {
    // test w/ table that has iterators configured
    try (AccumuloClient client = Accumulo.newClient().from(getClientProps()).build()) {
        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");
        client.tableOperations().create(tableName);
        try (BatchWriter bw = client.createBatchWriter(tableName)) {
            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);
        }
        client.tableOperations().attachIterator(tableName, aiConfig1, EnumSet.of(IteratorScope.scan));
        client.tableOperations().offline(tableName, true);
        client.tableOperations().online(tableName, true);
        try (ConditionalWriter cw = client.createConditionalWriter(tableName);
            Scanner scanner = client.createScanner(tableName, new Authorizations())) {
            ConditionalMutation cm6 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setValue("8"));
            cm6.put("count", "comments", "7");
            assertEquals(Status.ACCEPTED, cw.write(cm6).getStatus());
            scanner.setRange(new Range("ACCUMULO-1000"));
            scanner.fetchColumn("count", "comments");
            Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
            assertEquals("9", entry.getValue().toString());
            ConditionalMutation cm7 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setIterators(aiConfig2).setValue("27"));
            cm7.put("count", "comments", "8");
            assertEquals(Status.ACCEPTED, cw.write(cm7).getStatus());
            entry = Iterables.getOnlyElement(scanner);
            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");
            assertEquals(Status.ACCEPTED, cw.write(cm8).getStatus());
            entry = Iterables.getOnlyElement(scanner);
            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());
                assertFalse("Did not expect to see multiple results 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);
            assertEquals(expected, actual);
        }
    }
}
Also used : AccumuloClient(org.apache.accumulo.core.client.AccumuloClient) Condition(org.apache.accumulo.core.data.Condition) Status(org.apache.accumulo.core.client.ConditionalWriter.Status) 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) 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) 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 49 with Authorizations

use of org.apache.accumulo.core.security.Authorizations in project accumulo by apache.

the class ConditionalWriterIT method testIterators.

@Test
public void testIterators() throws Exception {
    try (AccumuloClient client = Accumulo.newClient().from(getClientProps()).build()) {
        String tableName = getUniqueNames(1)[0];
        client.tableOperations().create(tableName, new NewTableConfiguration().withoutDefaultIterators());
        try (BatchWriter bw = client.createBatchWriter(tableName)) {
            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);
        }
        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 = client.createScanner(tableName, new Authorizations())) {
            scanner.addScanIterator(iterConfig);
            scanner.setRange(new Range("ACCUMULO-1000"));
            scanner.fetchColumn("count", "comments");
            Entry<Key, Value> entry = Iterables.getOnlyElement(scanner);
            assertEquals("3", entry.getValue().toString());
            try (ConditionalWriter cw = client.createConditionalWriter(tableName)) {
                ConditionalMutation cm0 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setValue("3"));
                cm0.put("count", "comments", "1");
                assertEquals(Status.REJECTED, cw.write(cm0).getStatus());
                entry = Iterables.getOnlyElement(scanner);
                assertEquals("3", entry.getValue().toString());
                ConditionalMutation cm1 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setIterators(iterConfig).setValue("3"));
                cm1.put("count", "comments", "1");
                assertEquals(Status.ACCEPTED, cw.write(cm1).getStatus());
                entry = Iterables.getOnlyElement(scanner);
                assertEquals("4", entry.getValue().toString());
                ConditionalMutation cm2 = new ConditionalMutation("ACCUMULO-1000", new Condition("count", "comments").setValue("4"));
                cm2.put("count", "comments", "1");
                assertEquals(Status.REJECTED, cw.write(cm1).getStatus());
                entry = Iterables.getOnlyElement(scanner);
                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());
                    assertFalse("Did not expect to see multiple results 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);
                assertEquals(expected, actual);
            }
        }
    }
}
Also used : AccumuloClient(org.apache.accumulo.core.client.AccumuloClient) Condition(org.apache.accumulo.core.data.Condition) Status(org.apache.accumulo.core.client.ConditionalWriter.Status) 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) 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) 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 50 with Authorizations

use of org.apache.accumulo.core.security.Authorizations in project accumulo by apache.

the class MultiTableBatchWriterIT method testTableRenameNewWriters.

@Test
public void testTableRenameNewWriters() throws Exception {
    try {
        final String[] names = getUniqueNames(4);
        final String table1 = names[0], table2 = names[1];
        final String newTable1 = names[2], newTable2 = names[3];
        TableOperations tops = accumuloClient.tableOperations();
        tops.create(table1);
        tops.create(table2);
        BatchWriter bw1 = mtbw.getBatchWriter(table1), bw2 = mtbw.getBatchWriter(table2);
        Mutation m1 = new Mutation("foo");
        m1.put("col1", "", "val1");
        m1.put("col2", "", "val2");
        bw1.addMutation(m1);
        bw2.addMutation(m1);
        tops.rename(table1, newTable1);
        // MTBW is still caching this name to the correct table, but we should invalidate its cache
        // after seeing the rename
        assertThrows("Should not be able to find this table", TableNotFoundException.class, () -> mtbw.getBatchWriter(table1));
        tops.rename(table2, newTable2);
        assertThrows("Should not be able to find this table", TableNotFoundException.class, () -> mtbw.getBatchWriter(table2));
        bw1 = mtbw.getBatchWriter(newTable1);
        bw2 = mtbw.getBatchWriter(newTable2);
        Mutation m2 = new Mutation("bar");
        m2.put("col1", "", "val1");
        m2.put("col2", "", "val2");
        bw1.addMutation(m2);
        bw2.addMutation(m2);
        mtbw.close();
        Map<Entry<String, String>, String> expectations = new HashMap<>();
        expectations.put(Maps.immutableEntry("foo", "col1"), "val1");
        expectations.put(Maps.immutableEntry("foo", "col2"), "val2");
        expectations.put(Maps.immutableEntry("bar", "col1"), "val1");
        expectations.put(Maps.immutableEntry("bar", "col2"), "val2");
        for (String table : Arrays.asList(newTable1, newTable2)) {
            try (Scanner s = accumuloClient.createScanner(table, new Authorizations())) {
                s.setRange(new Range());
                Map<Entry<String, String>, String> actual = new HashMap<>();
                for (Entry<Key, Value> entry : s) {
                    actual.put(Maps.immutableEntry(entry.getKey().getRow().toString(), entry.getKey().getColumnFamily().toString()), entry.getValue().toString());
                }
                assertEquals("Differing results for " + table, expectations, actual);
            }
        }
    } finally {
        if (mtbw != null) {
            mtbw.close();
        }
    }
}
Also used : Scanner(org.apache.accumulo.core.client.Scanner) Authorizations(org.apache.accumulo.core.security.Authorizations) HashMap(java.util.HashMap) Range(org.apache.accumulo.core.data.Range) Entry(java.util.Map.Entry) TableOperations(org.apache.accumulo.core.client.admin.TableOperations) Value(org.apache.accumulo.core.data.Value) MultiTableBatchWriter(org.apache.accumulo.core.client.MultiTableBatchWriter) BatchWriter(org.apache.accumulo.core.client.BatchWriter) Mutation(org.apache.accumulo.core.data.Mutation) Key(org.apache.accumulo.core.data.Key) Test(org.junit.Test)

Aggregations

Authorizations (org.apache.accumulo.core.security.Authorizations)242 Test (org.junit.Test)118 Scanner (org.apache.accumulo.core.client.Scanner)117 Key (org.apache.accumulo.core.data.Key)113 Value (org.apache.accumulo.core.data.Value)112 Text (org.apache.hadoop.io.Text)97 Mutation (org.apache.accumulo.core.data.Mutation)74 BatchWriter (org.apache.accumulo.core.client.BatchWriter)70 IteratorSetting (org.apache.accumulo.core.client.IteratorSetting)68 Range (org.apache.accumulo.core.data.Range)59 Map (java.util.Map)53 Entry (java.util.Map.Entry)47 PasswordToken (org.apache.accumulo.core.client.security.tokens.PasswordToken)39 Connector (org.apache.accumulo.core.client.Connector)34 ArrayList (java.util.ArrayList)31 TableNotFoundException (org.apache.accumulo.core.client.TableNotFoundException)30 AccumuloClient (org.apache.accumulo.core.client.AccumuloClient)29 AccumuloException (org.apache.accumulo.core.client.AccumuloException)28 AccumuloSecurityException (org.apache.accumulo.core.client.AccumuloSecurityException)26 Configuration (org.apache.hadoop.conf.Configuration)24