You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by dl...@apache.org on 2021/05/10 18:12:15 UTC
[accumulo] branch 1451-external-compactions-feature updated: closes
#2093, fix typo
This is an automated email from the ASF dual-hosted git repository.
dlmarion pushed a commit to branch 1451-external-compactions-feature
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/1451-external-compactions-feature by this push:
new 4d4abab closes #2093, fix typo
4d4abab is described below
commit 4d4abab7e884c61d5ac6d657d8c028be88cdbed0
Author: Dave Marion <dl...@apache.org>
AuthorDate: Mon May 10 18:11:55 2021 +0000
closes #2093, fix typo
---
.../metadata/schema/ExternalCompactionMetadata.java | 2 +-
.../core/util/compaction/CompactionExecutorIdImpl.java | 6 +++---
.../org/apache/accumulo/server/init/Initialize.java | 1 -
.../apache/accumulo/manager/upgrade/Upgrader9to10.java | 17 +++++++++++++++++
.../accumulo/tserver/compactions/CompactionService.java | 2 +-
.../tserver/compactions/ExternalCompactionExecutor.java | 2 +-
.../apache/accumulo/tserver/tablet/CompactableImpl.java | 2 +-
7 files changed, 24 insertions(+), 8 deletions(-)
diff --git a/core/src/main/java/org/apache/accumulo/core/metadata/schema/ExternalCompactionMetadata.java b/core/src/main/java/org/apache/accumulo/core/metadata/schema/ExternalCompactionMetadata.java
index 2295fc8..db70b62 100644
--- a/core/src/main/java/org/apache/accumulo/core/metadata/schema/ExternalCompactionMetadata.java
+++ b/core/src/main/java/org/apache/accumulo/core/metadata/schema/ExternalCompactionMetadata.java
@@ -138,7 +138,7 @@ public class ExternalCompactionMetadata {
jData.dest = newFile.getMetaInsert();
jData.compactor = compactorId;
jData.kind = kind.name();
- jData.executorId = ((CompactionExecutorIdImpl) ceid).getExernalName();
+ jData.executorId = ((CompactionExecutorIdImpl) ceid).getExternalName();
jData.priority = priority;
jData.propDels = propogateDeletes;
jData.selectedAll = selectedAll;
diff --git a/core/src/main/java/org/apache/accumulo/core/util/compaction/CompactionExecutorIdImpl.java b/core/src/main/java/org/apache/accumulo/core/util/compaction/CompactionExecutorIdImpl.java
index fa205b4..2dcb44c 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/compaction/CompactionExecutorIdImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/compaction/CompactionExecutorIdImpl.java
@@ -31,12 +31,12 @@ public class CompactionExecutorIdImpl extends CompactionExecutorId {
private static final long serialVersionUID = 1L;
- public boolean isExernalId() {
+ public boolean isExternalId() {
return canonical().startsWith("e.");
}
- public String getExernalName() {
- Preconditions.checkState(isExernalId());
+ public String getExternalName() {
+ Preconditions.checkState(isExternalId());
return canonical().substring("e.".length());
}
diff --git a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java
index 24ebf49..ae6448a 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java
@@ -660,7 +660,6 @@ public class Initialize implements KeywordExecutable {
NodeExistsPolicy.FAIL);
zoo.putPersistentData(zkInstanceRoot + WalStateManager.ZWALS, EMPTY_BYTE_ARRAY,
NodeExistsPolicy.FAIL);
- // TODO upgrade code should create following paths in ZK
zoo.putPersistentData(zkInstanceRoot + Constants.ZCOORDINATOR, EMPTY_BYTE_ARRAY,
NodeExistsPolicy.FAIL);
zoo.putPersistentData(zkInstanceRoot + Constants.ZCOORDINATOR_LOCK, EMPTY_BYTE_ARRAY,
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
index 41347a5..8f7c284 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
@@ -128,6 +128,7 @@ public class Upgrader9to10 implements Upgrader {
setMetaTableProps(ctx);
upgradeRootTabletMetadata(ctx);
renameOldMasterPropsinZK(ctx);
+ createExternalCompactionNodes(ctx);
}
@Override
@@ -162,6 +163,22 @@ public class Upgrader9to10 implements Upgrader {
}
}
+ private void createExternalCompactionNodes(ServerContext ctx) {
+
+ final byte[] EMPTY_BYTE_ARRAY = new byte[0];
+ try {
+ ctx.getZooReaderWriter().putPersistentData(ctx.getZooKeeperRoot() + Constants.ZCOORDINATOR,
+ EMPTY_BYTE_ARRAY, NodeExistsPolicy.FAIL);
+ ctx.getZooReaderWriter().putPersistentData(
+ ctx.getZooKeeperRoot() + Constants.ZCOORDINATOR_LOCK, EMPTY_BYTE_ARRAY,
+ NodeExistsPolicy.FAIL);
+ ctx.getZooReaderWriter().putPersistentData(ctx.getZooKeeperRoot() + Constants.ZCOMPACTORS,
+ EMPTY_BYTE_ARRAY, NodeExistsPolicy.FAIL);
+ } catch (KeeperException | InterruptedException e) {
+ throw new RuntimeException("Unable to create external compaction paths", e);
+ }
+ }
+
private void upgradeRootTabletMetadata(ServerContext ctx) {
String rootMetaSer = getFromZK(ctx, ZROOT_TABLET);
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/CompactionService.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/CompactionService.java
index dc33fa0..e83b238 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/CompactionService.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/CompactionService.java
@@ -320,7 +320,7 @@ public class CompactionService {
plan = convertPlan(plan, kind, files.get().allFiles, files.get().candidates);
if (compactable.getExtent().isMeta() && plan.getJobs().stream().map(cj -> cj.getExecutor())
- .anyMatch(ceid -> ((CompactionExecutorIdImpl) ceid).isExernalId())) {
+ .anyMatch(ceid -> ((CompactionExecutorIdImpl) ceid).isExternalId())) {
log.error(
"Compacting metadata tablets on external compactors is not supported, please change "
+ "config for compaction service ({}) and/or table ASAP. {} is not compacting, "
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/ExternalCompactionExecutor.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/ExternalCompactionExecutor.java
index 336978b..63d91b3 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/ExternalCompactionExecutor.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/ExternalCompactionExecutor.java
@@ -199,7 +199,7 @@ public class ExternalCompactionExecutor implements CompactionExecutor {
priority = topJob.getJob().getPriority();
}
- return new TCompactionQueueSummary(((CompactionExecutorIdImpl) ceid).getExernalName(),
+ return new TCompactionQueueSummary(((CompactionExecutorIdImpl) ceid).getExternalName(),
priority);
}
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
index 695ccae..6ff27f6 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
@@ -1172,7 +1172,7 @@ public class CompactableImpl implements Compactable {
// wait while internal jobs are running or external compactions are committing, but do not
// wait on external compactions that are running
while (runnningJobs.stream()
- .anyMatch(job -> !((CompactionExecutorIdImpl) job.getExecutor()).isExernalId())
+ .anyMatch(job -> !((CompactionExecutorIdImpl) job.getExecutor()).isExternalId())
|| !externalCompactionsCommitting.isEmpty()) {
try {
wait(50);