You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2022/10/18 11:50:19 UTC
[accumulo] branch main updated: fixes #2667 wait for metadata write in tablet close (#3028)
This is an automated email from the ASF dual-hosted git repository.
kturner pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/main by this push:
new 8531c62d61 fixes #2667 wait for metadata write in tablet close (#3028)
8531c62d61 is described below
commit 8531c62d611a616225a889f42be4e7f723512564
Author: Keith Turner <kt...@apache.org>
AuthorDate: Tue Oct 18 12:50:13 2022 +0100
fixes #2667 wait for metadata write in tablet close (#3028)
---
.../java/org/apache/accumulo/tserver/tablet/CompactableImpl.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
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 20b125eea5..257322e207 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
@@ -1528,12 +1528,14 @@ public class CompactableImpl implements Compactable {
closed = true;
- // wait while internal jobs are running, external compactions are committing or the status of
- // chops is MARKING, but do not wait on external compactions that are running
+ // Wait while internal jobs are running or external compactions are committing. When
+ // chopStatus is MARKING or selectStatus is SELECTING, there may be metadata table writes so
+ // wait on those. Do not wait on external compactions that are running.
while (runningJobs.stream()
.anyMatch(job -> !((CompactionExecutorIdImpl) job.getExecutor()).isExternalId())
|| !externalCompactionsCommitting.isEmpty()
- || fileMgr.chopStatus == ChopSelectionStatus.MARKING) {
+ || fileMgr.chopStatus == ChopSelectionStatus.MARKING
+ || fileMgr.selectStatus == FileSelectionStatus.SELECTING) {
try {
wait(50);
} catch (InterruptedException e) {