This is an automated email from the ASF dual-hosted git repository.
ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git
commit 81c6ae16570ae1af23a91947b28fa2c673279b80
Merge: 5bec1c33af f02d2ac500
Author: Christopher Tubbs
AuthorDate: Tue Aug 29 15:27:35 2023 -0400
Merge branch '2.1'
.../org/apache/accumulo/core/conf/Property.java| 17 -
.../server/tablets/UniqueNameAllocator.java| 43 ++
2 files changed, 28 insertions(+), 32 deletions(-)
diff --cc core/src/main/java/org/apache/accumulo/core/conf/Property.java
index 1261d83b35,0bff139725..7abc163f1f
--- a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
@@@ -1445,10 -1833,13 +1444,10 @@@ public enum Property
return key.startsWith(Property.TABLE_PREFIX.getKey())
|| key.startsWith(Property.TSERV_PREFIX.getKey())
|| key.startsWith(Property.MANAGER_PREFIX.getKey())
-|| key.startsWith(Property.MASTER_PREFIX.getKey())
|| key.startsWith(Property.GC_PREFIX.getKey())
|| key.startsWith(Property.GENERAL_ARBITRARY_PROP_PREFIX.getKey())
- || key.equals(Property.GENERAL_FILENAME_BASE_ALLOCATION.getKey())
- || key.equals(Property.GENERAL_FILENAME_JITTER_ALLOCATION.getKey());
+ ||
key.equals(Property.GENERAL_FILE_NAME_ALLOCATION_BATCH_SIZE_MIN.getKey())
-||
key.equals(Property.GENERAL_FILE_NAME_ALLOCATION_BATCH_SIZE_MAX.getKey())
-|| key.startsWith(VFS_CONTEXT_CLASSPATH_PROPERTY.getKey())
-|| key.startsWith(REPLICATION_PREFIX.getKey());
++||
key.equals(Property.GENERAL_FILE_NAME_ALLOCATION_BATCH_SIZE_MAX.getKey());
}
/**
diff --cc
server/base/src/main/java/org/apache/accumulo/server/tablets/UniqueNameAllocator.java
index 5e4cc77a7d,cd633137c5..14026124df
---
a/server/base/src/main/java/org/apache/accumulo/server/tablets/UniqueNameAllocator.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/tablets/UniqueNameAllocator.java
@@@ -19,9 -19,11 +19,10 @@@
package org.apache.accumulo.server.tablets;
import static java.nio.charset.StandardCharsets.UTF_8;
-
-import java.security.SecureRandom;
+import static org.apache.accumulo.core.util.LazySingletons.RANDOM;
import org.apache.accumulo.core.Constants;
+ import org.apache.accumulo.core.conf.DefaultConfiguration;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.util.FastFormat;
import org.apache.accumulo.server.ServerContext;
@@@ -36,15 -38,17 +37,16 @@@ import org.slf4j.LoggerFactory
*/
public class UniqueNameAllocator {
- private static Logger log =
LoggerFactory.getLogger(UniqueNameAllocator.class);
+ private static final Logger log =
LoggerFactory.getLogger(UniqueNameAllocator.class);
- private static final SecureRandom random = new SecureRandom();
+ private static final Property MIN_PROP =
Property.GENERAL_FILE_NAME_ALLOCATION_BATCH_SIZE_MIN;
+ private static final Property MAX_PROP =
Property.GENERAL_FILE_NAME_ALLOCATION_BATCH_SIZE_MAX;
+ private static final int DEFAULT_MIN =
DefaultConfiguration.getInstance().getCount(MIN_PROP);
- private static final int DEFAULT_BASE_ALLOCATION =
-
Integer.parseInt(Property.GENERAL_FILENAME_BASE_ALLOCATION.getDefaultValue());
+ private final ServerContext context;
+ private final String nextNamePath;
- private ServerContext context;
private long next = 0;
private long maxAllocated = 0;
- private String nextNamePath;
public UniqueNameAllocator(ServerContext context) {
this.context = context;
@@@ -75,25 -76,23 +74,23 @@@
}
private int getAllocation() {
- int baseAllocation =
-
context.getConfiguration().getCount(Property.GENERAL_FILENAME_BASE_ALLOCATION);
- int jitterAllocation =
-
context.getConfiguration().getCount(Property.GENERAL_FILENAME_JITTER_ALLOCATION);
+ int minAllocation = context.getConfiguration().getCount(MIN_PROP);
+ int maxAllocation = context.getConfiguration().getCount(MAX_PROP);
- if (baseAllocation <= 0) {
- log.warn("{} was set to {}, must be greater than 0. Using the default
{}.",
- Property.GENERAL_FILENAME_BASE_ALLOCATION.getKey(), baseAllocation,
- DEFAULT_BASE_ALLOCATION);
- baseAllocation = DEFAULT_BASE_ALLOCATION;
+ if (minAllocation <= 0) {
+ log.warn("{} was set to {}, but must be greater than 0. Using the
default ({}).",
+ MIN_PROP.getKey(), minAllocation, DEFAULT_MIN);
+ minAllocation = DEFAULT_MIN;
}
- int totalAllocation = baseAllocation;
- if (jitterAllocation > 0) {
- totalAllocation += RANDOM.get().nextInt(jitterAllocation);
+ if (maxAllocation < minAllocation) {
+ log.warn("{} was set to {}, must be greater than or equal to {} ({}).
Using {}.",
+