This is an automated email from the ASF dual-hosted git repository. domgarguilo pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo-testing.git
The following commit(s) were added to refs/heads/main by this push: new cce415d Use `NewTableConfiguration().withSplits()` instead of `addSplits()` (#193) cce415d is described below commit cce415d96457e438162515d3845d1447efef1bf8 Author: Dom G <dominic.gargu...@gmail.com> AuthorDate: Tue Feb 22 09:08:02 2022 -0500 Use `NewTableConfiguration().withSplits()` instead of `addSplits()` (#193) * Convert to use NTC --- .../apache/accumulo/testing/ingest/TestIngest.java | 18 +++++--- .../testing/performance/tests/RollWALPT.java | 7 ++- .../testing/randomwalk/image/ImageFixture.java | 5 ++- .../testing/randomwalk/multitable/CopyTable.java | 6 +-- .../testing/randomwalk/multitable/CreateTable.java | 12 +++--- .../testing/randomwalk/shard/ShardFixture.java | 50 ++++++++++------------ .../accumulo/testing/scalability/Ingest.java | 9 ++-- 7 files changed, 54 insertions(+), 53 deletions(-) diff --git a/src/main/java/org/apache/accumulo/testing/ingest/TestIngest.java b/src/main/java/org/apache/accumulo/testing/ingest/TestIngest.java index 878c8dc..30f0770 100644 --- a/src/main/java/org/apache/accumulo/testing/ingest/TestIngest.java +++ b/src/main/java/org/apache/accumulo/testing/ingest/TestIngest.java @@ -32,6 +32,7 @@ import org.apache.accumulo.core.client.BatchWriter; import org.apache.accumulo.core.client.MutationsRejectedException; import org.apache.accumulo.core.client.TableExistsException; import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.admin.NewTableConfiguration; import org.apache.accumulo.core.client.rfile.RFile; import org.apache.accumulo.core.client.rfile.RFileWriter; import org.apache.accumulo.core.client.security.SecurityErrorCode; @@ -112,13 +113,16 @@ public class TestIngest { TreeSet<Text> splits = getSplitPoints(args.startRow, args.startRow + args.rows, args.numsplits); - if (!client.tableOperations().exists(args.tableName)) - client.tableOperations().create(args.tableName); - try { - client.tableOperations().addSplits(args.tableName, splits); - } catch (TableNotFoundException ex) { - // unlikely - throw new RuntimeException(ex); + if (!client.tableOperations().exists(args.tableName)) { + client.tableOperations().create(args.tableName, + new NewTableConfiguration().withSplits(splits)); + } else { + try { + client.tableOperations().addSplits(args.tableName, splits); + } catch (TableNotFoundException ex) { + // unlikely + throw new RuntimeException(ex); + } } } } diff --git a/src/main/java/org/apache/accumulo/testing/performance/tests/RollWALPT.java b/src/main/java/org/apache/accumulo/testing/performance/tests/RollWALPT.java index 4424cd6..37f34d9 100644 --- a/src/main/java/org/apache/accumulo/testing/performance/tests/RollWALPT.java +++ b/src/main/java/org/apache/accumulo/testing/performance/tests/RollWALPT.java @@ -32,6 +32,7 @@ import org.apache.accumulo.core.client.BatchWriter; import org.apache.accumulo.core.client.MutationsRejectedException; import org.apache.accumulo.core.client.TableExistsException; import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.admin.NewTableConfiguration; import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.core.data.Mutation; import org.apache.accumulo.core.data.Value; @@ -115,10 +116,8 @@ public class RollWALPT implements PerformanceTest { } private void initTable(final String tableName, final AccumuloClient client) - throws AccumuloSecurityException, TableNotFoundException, AccumuloException, - TableExistsException { - client.tableOperations().create(tableName); - client.tableOperations().addSplits(tableName, getSplits()); + throws AccumuloSecurityException, AccumuloException, TableExistsException { + client.tableOperations().create(tableName, new NewTableConfiguration().withSplits(getSplits())); client.instanceOperations().waitForBalance(); } diff --git a/src/main/java/org/apache/accumulo/testing/randomwalk/image/ImageFixture.java b/src/main/java/org/apache/accumulo/testing/randomwalk/image/ImageFixture.java index 28cf33e..6bc3c2b 100644 --- a/src/main/java/org/apache/accumulo/testing/randomwalk/image/ImageFixture.java +++ b/src/main/java/org/apache/accumulo/testing/randomwalk/image/ImageFixture.java @@ -29,6 +29,7 @@ import org.apache.accumulo.core.client.AccumuloClient; import org.apache.accumulo.core.client.MultiTableBatchWriter; import org.apache.accumulo.core.client.MutationsRejectedException; import org.apache.accumulo.core.client.TableExistsException; +import org.apache.accumulo.core.client.admin.NewTableConfiguration; import org.apache.accumulo.testing.randomwalk.Fixture; import org.apache.accumulo.testing.randomwalk.RandWalkEnv; import org.apache.accumulo.testing.randomwalk.State; @@ -59,8 +60,8 @@ public class ImageFixture extends Fixture { state.set("indexTableName", indexTableName); try { - client.tableOperations().create(imageTableName); - client.tableOperations().addSplits(imageTableName, splits); + client.tableOperations().create(imageTableName, + new NewTableConfiguration().withSplits(splits)); log.debug("Created table " + imageTableName + " (id:" + client.tableOperations().tableIdMap().get(imageTableName) + ")"); } catch (TableExistsException e) { diff --git a/src/main/java/org/apache/accumulo/testing/randomwalk/multitable/CopyTable.java b/src/main/java/org/apache/accumulo/testing/randomwalk/multitable/CopyTable.java index eaffa93..bf96a16 100644 --- a/src/main/java/org/apache/accumulo/testing/randomwalk/multitable/CopyTable.java +++ b/src/main/java/org/apache/accumulo/testing/randomwalk/multitable/CopyTable.java @@ -21,6 +21,7 @@ import java.util.Properties; import java.util.Random; import java.util.TreeSet; +import org.apache.accumulo.core.client.admin.NewTableConfiguration; import org.apache.accumulo.testing.randomwalk.RandWalkEnv; import org.apache.accumulo.testing.randomwalk.State; import org.apache.accumulo.testing.randomwalk.Test; @@ -66,9 +67,8 @@ public class CopyTable extends Test { log.debug("copying " + srcTableName + " to " + dstTableName); - env.getAccumuloClient().tableOperations().create(dstTableName); - - env.getAccumuloClient().tableOperations().addSplits(dstTableName, splits); + env.getAccumuloClient().tableOperations().create(dstTableName, + new NewTableConfiguration().withSplits(splits)); if (ToolRunner.run(env.getHadoopConfiguration(), new CopyTool(), args) != 0) { log.error("Failed to run map/red verify"); diff --git a/src/main/java/org/apache/accumulo/testing/randomwalk/multitable/CreateTable.java b/src/main/java/org/apache/accumulo/testing/randomwalk/multitable/CreateTable.java index 3ef2d27..ec0ad96 100644 --- a/src/main/java/org/apache/accumulo/testing/randomwalk/multitable/CreateTable.java +++ b/src/main/java/org/apache/accumulo/testing/randomwalk/multitable/CreateTable.java @@ -22,6 +22,7 @@ import java.util.TreeSet; import org.apache.accumulo.core.client.AccumuloClient; import org.apache.accumulo.core.client.TableExistsException; +import org.apache.accumulo.core.client.admin.NewTableConfiguration; import org.apache.accumulo.testing.randomwalk.RandWalkEnv; import org.apache.accumulo.testing.randomwalk.State; import org.apache.accumulo.testing.randomwalk.Test; @@ -48,14 +49,11 @@ public class CreateTable extends Test { int nextId = (Integer) state.get("nextId"); String tableName = String.format("%s_%d", state.getString("tableNamePrefix"), nextId); try { - client.tableOperations().create(tableName); - // Add some splits to make the server's life easier - client.tableOperations().addSplits(tableName, splits); + // Create table and add some splits to make the server's life easier + client.tableOperations().create(tableName, new NewTableConfiguration().withSplits(splits)); String tableId = client.tableOperations().tableIdMap().get(tableName); - log.debug("created " + tableName + " (id:" + tableId + ")"); - // Add some splits to make the server's life easier - client.tableOperations().addSplits(tableName, splits); - log.debug("created " + splits.size() + " splits on " + tableName); + log.debug("created table {} (id:{}) with {} splits", tableName, tableId, splits.size()); + @SuppressWarnings("unchecked") List<String> tables = (List<String>) state.get("tableList"); tables.add(tableName); diff --git a/src/main/java/org/apache/accumulo/testing/randomwalk/shard/ShardFixture.java b/src/main/java/org/apache/accumulo/testing/randomwalk/shard/ShardFixture.java index cdcd0e6..d096d6f 100644 --- a/src/main/java/org/apache/accumulo/testing/randomwalk/shard/ShardFixture.java +++ b/src/main/java/org/apache/accumulo/testing/randomwalk/shard/ShardFixture.java @@ -17,6 +17,7 @@ package org.apache.accumulo.testing.randomwalk.shard; import java.net.InetAddress; +import java.util.Map; import java.util.Random; import java.util.SortedSet; import java.util.TreeSet; @@ -24,6 +25,7 @@ import java.util.TreeSet; import org.apache.accumulo.core.client.AccumuloClient; import org.apache.accumulo.core.client.MultiTableBatchWriter; import org.apache.accumulo.core.client.MutationsRejectedException; +import org.apache.accumulo.core.client.admin.NewTableConfiguration; import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.testing.randomwalk.Fixture; import org.apache.accumulo.testing.randomwalk.RandWalkEnv; @@ -53,26 +55,24 @@ public class ShardFixture extends Fixture { throws Exception { AccumuloClient client = env.getAccumuloClient(); String name = state.get("indexTableName") + suffix; - int numPartitions = (Integer) state.get("numPartitions"); - boolean enableCache = (Boolean) state.get("cacheIndex"); - client.tableOperations().create(name); - String tableId = client.tableOperations().tableIdMap().get(name); - log.info("Created index table " + name + "(id:" + tableId + ")"); + NewTableConfiguration ntc = new NewTableConfiguration(); + int numPartitions = state.getInteger("numPartitions"); SortedSet<Text> splits = genSplits(numPartitions, rand.nextInt(numPartitions) + 1, "%06x"); - client.tableOperations().addSplits(name, splits); - - log.info("Added " + splits.size() + " splits to " + name); + ntc.withSplits(splits); - if (enableCache) { - client.tableOperations().setProperty(name, Property.TABLE_INDEXCACHE_ENABLED.getKey(), - "true"); - client.tableOperations().setProperty(name, Property.TABLE_BLOCKCACHE_ENABLED.getKey(), - "true"); + if ((Boolean) state.get("cacheIndex")) { + ntc.setProperties(Map.of(Property.TABLE_INDEXCACHE_ENABLED.getKey(), "true", + Property.TABLE_BLOCKCACHE_ENABLED.getKey(), "true")); - log.info("Enabled caching for table " + name); + log.info("Enabling caching for table " + name); } + + client.tableOperations().create(name, ntc); + + String tableId = client.tableOperations().tableIdMap().get(name); + log.info("Created index table {} (id:{}) with {} splits", name, tableId, splits.size()); } @Override @@ -97,22 +97,18 @@ public class ShardFixture extends Fixture { createIndexTable(this.log, state, env, "", rand); - String docTableName = (String) state.get("docTableName"); - client.tableOperations().create(docTableName); - - String tableId = client.tableOperations().tableIdMap().get(docTableName); - log.info("Created doc table " + docTableName + " (id:" + tableId + ")"); - + String docTableName = state.getString("docTableName"); + NewTableConfiguration ntc = new NewTableConfiguration(); SortedSet<Text> splits = genSplits(0xff, rand.nextInt(32) + 1, "%02x"); - client.tableOperations().addSplits(docTableName, splits); - - log.info("Added " + splits.size() + " splits to " + docTableName); - + ntc.withSplits(splits); if (rand.nextDouble() < .5) { - client.tableOperations().setProperty((String) state.get("docTableName"), - Property.TABLE_BLOOM_ENABLED.getKey(), "true"); - log.info("Enabled bloom filters for table " + (String) state.get("docTableName")); + ntc.setProperties(Map.of(Property.TABLE_BLOOM_ENABLED.getKey(), "true")); + log.info("Enabling bloom filters for table {}", docTableName); } + + client.tableOperations().create(docTableName, ntc); + String tableId = client.tableOperations().tableIdMap().get(docTableName); + log.info("Created doc table {} (id:{}) with {} splits", docTableName, tableId, splits.size()); } @Override diff --git a/src/main/java/org/apache/accumulo/testing/scalability/Ingest.java b/src/main/java/org/apache/accumulo/testing/scalability/Ingest.java index aa5753e..5fe0359 100644 --- a/src/main/java/org/apache/accumulo/testing/scalability/Ingest.java +++ b/src/main/java/org/apache/accumulo/testing/scalability/Ingest.java @@ -18,6 +18,7 @@ package org.apache.accumulo.testing.scalability; import static java.nio.charset.StandardCharsets.UTF_8; +import java.util.Map; import java.util.Random; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -27,6 +28,7 @@ import org.apache.accumulo.core.client.BatchWriter; import org.apache.accumulo.core.client.BatchWriterConfig; import org.apache.accumulo.core.client.MutationsRejectedException; import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.admin.NewTableConfiguration; import org.apache.accumulo.core.data.Mutation; import org.apache.accumulo.core.security.ColumnVisibility; import org.apache.accumulo.testing.continuous.ContinuousIngest; @@ -54,10 +56,11 @@ public class Ingest extends ScaleTest { } // create table + NewTableConfiguration ntc = new NewTableConfiguration(); + ntc.withSplits(calculateSplits()); + ntc.setProperties(Map.of("table.split.threshold", "256M")); try { - client.tableOperations().create(tableName); - client.tableOperations().addSplits(tableName, calculateSplits()); - client.tableOperations().setProperty(tableName, "table.split.threshold", "256M"); + client.tableOperations().create(tableName, ntc); } catch (Exception e) { log.error("Failed to create table '" + tableName + "'.", e); }