Skip to content

Commit 891afe2

Browse files
committed
Add more descriptions to conditional mutations
1 parent 44363eb commit 891afe2

File tree

9 files changed

+43
-32
lines changed

9 files changed

+43
-32
lines changed

server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java

+5-7
Original file line numberDiff line numberDiff line change
@@ -350,12 +350,10 @@ public void hostOndemand(Collection<KeyExtent> extents) {
350350
// Do not add any code here, it may interfere with the finally block removing extents from
351351
// hostingRequestInProgress
352352
try (var mutator = manager.getContext().getAmple().conditionallyMutateTablets()) {
353-
inProgress.forEach(ke -> {
354-
mutator.mutateTablet(ke).requireAbsentOperation()
355-
.requireTabletAvailability(TabletAvailability.ONDEMAND).requireAbsentLocation()
356-
.setHostingRequested().submit(TabletMetadata::getHostingRequested);
357-
358-
});
353+
inProgress.forEach(ke -> mutator.mutateTablet(ke).requireAbsentOperation()
354+
.requireTabletAvailability(TabletAvailability.ONDEMAND).requireAbsentLocation()
355+
.setHostingRequested()
356+
.submit(TabletMetadata::getHostingRequested, () -> "host ondemand"));
359357

360358
List<Range> ranges = new ArrayList<>();
361359

@@ -1094,7 +1092,7 @@ private void replaceVolumes(List<VolumeUtil.VolumeReplacements> volumeReplacemen
10941092
"replaceVolume conditional mutation rejection check {} logsRemoved:{} filesRemoved:{}",
10951093
tm.getExtent(), logsRemoved, filesRemoved);
10961094
return logsRemoved && filesRemoved;
1097-
});
1095+
}, () -> "replace volume");
10981096
}
10991097

11001098
tabletsMutator.process().forEach((extent, result) -> {

server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -635,8 +635,9 @@ public CompactionMetadata get() {
635635
}
636636

637637
tabletMutator.putExternalCompaction(externalCompactionId, ecm);
638-
tabletMutator
639-
.submit(tm -> tm.getExternalCompactions().containsKey(externalCompactionId));
638+
tabletMutator.submit(
639+
tm -> tm.getExternalCompactions().containsKey(externalCompactionId),
640+
() -> "compaction reservation");
640641

641642
var result = tabletsMutator.process().get(extent);
642643

server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/commit/CommitCompaction.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,9 @@ private TabletMetadata commitCompaction(ServerContext ctx, ExternalCompactionId
128128
// make the needed updates to the tablet
129129
updateTabletForCompaction(commitData.stats, ecid, tablet, newDatafile, ecm, tabletMutator);
130130

131-
tabletMutator
132-
.submit(tabletMetadata -> !tabletMetadata.getExternalCompactions().containsKey(ecid));
131+
tabletMutator.submit(
132+
tabletMetadata -> !tabletMetadata.getExternalCompactions().containsKey(ecid),
133+
() -> "commit compaction");
133134

134135
if (LOG.isDebugEnabled()) {
135136
LOG.debug("Compaction completed {} added {} removed {}", tablet.getExtent(), newDatafile,

server/manager/src/main/java/org/apache/accumulo/manager/tableOps/availability/SetTabletAvailability.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,8 @@ public long isReady(FateId fateId, Manager manager) throws Exception {
136136
tabletExtent);
137137
mutator.mutateTablet(tabletExtent).requireAbsentOperation()
138138
.putTabletAvailability(tabletAvailability)
139-
.submit(tabletMeta -> tabletMeta.getTabletAvailability() == tabletAvailability);
139+
.submit(tabletMeta -> tabletMeta.getTabletAvailability() == tabletAvailability,
140+
() -> "set tablet availability");
140141
}
141142
}
142143

server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/CleanUpBulkImport.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ private static void removeBulkLoadEntries(Ample ample, TableId tableId, FateId f
111111
tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation();
112112
tablet.getLoaded().entrySet().stream().filter(entry -> entry.getValue().equals(fateId))
113113
.map(Map.Entry::getKey).forEach(tabletMutator::deleteBulkFile);
114-
tabletMutator.submit(tm -> false);
114+
tabletMutator.submit(tm -> false, () -> "remove bulk load entries");
115115
}
116116
}
117117

server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/LoadFiles.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ void load(List<TabletMetadata> tablets, Files files) {
251251
Preconditions.checkState(
252252
loadingFiles.put(tablet.getExtent(), List.copyOf(filesToLoad.keySet())) == null);
253253

254-
tabletMutator.submit(tm -> false);
254+
tabletMutator.submit(tm -> false, () -> "bulk load files");
255255
}
256256
}
257257

server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java

+12-7
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,8 @@ public int updateAndCheckTablets(Manager manager, FateId fateId)
211211
// this tablet has no files try to mark it as done
212212
tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation()
213213
.requireSame(tablet, FILES, COMPACTED).putCompacted(fateId)
214-
.submit(tabletMetadata -> tabletMetadata.getCompacted().contains(fateId));
214+
.submit(tabletMetadata -> tabletMetadata.getCompacted().contains(fateId),
215+
() -> "no files, attempting to mark as compacted");
215216
noFiles++;
216217
} else if (tablet.getSelectedFiles() == null && tablet.getExternalCompactions().isEmpty()) {
217218
// there are no selected files
@@ -242,7 +243,8 @@ public int updateAndCheckTablets(Manager manager, FateId fateId)
242243
// no files were selected so mark the tablet as compacted
243244
tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation()
244245
.requireSame(tablet, FILES, SELECTED, ECOMP, COMPACTED).putCompacted(fateId)
245-
.submit(tabletMetadata -> tabletMetadata.getCompacted().contains(fateId));
246+
.submit(tabletMetadata -> tabletMetadata.getCompacted().contains(fateId),
247+
() -> "no files, attempting to mark as compacted");
246248

247249
noneSelected++;
248250
} else {
@@ -260,9 +262,11 @@ public int updateAndCheckTablets(Manager manager, FateId fateId)
260262

261263
selectionsSubmitted.put(tablet.getExtent(), filesToCompact);
262264

263-
mutator.submit(tabletMetadata -> tabletMetadata.getSelectedFiles() != null
264-
&& tabletMetadata.getSelectedFiles().getFateId().equals(fateId)
265-
|| tabletMetadata.getCompacted().contains(fateId));
265+
mutator.submit(
266+
tabletMetadata -> tabletMetadata.getSelectedFiles() != null
267+
&& tabletMetadata.getSelectedFiles().getFateId().equals(fateId)
268+
|| tabletMetadata.getCompacted().contains(fateId),
269+
() -> "selecting files for compaction");
266270

267271
if (minSelected == null || tablet.getExtent().compareTo(minSelected) < 0) {
268272
minSelected = tablet.getExtent();
@@ -298,7 +302,8 @@ public int updateAndCheckTablets(Manager manager, FateId fateId)
298302
var mutator = tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation()
299303
.requireSame(tablet, ECOMP, USER_COMPACTION_REQUESTED)
300304
.putUserCompactionRequested(fateId);
301-
mutator.submit(tm -> tm.getUserCompactionsRequested().contains(fateId));
305+
mutator.submit(tm -> tm.getUserCompactionsRequested().contains(fateId),
306+
() -> "marking as needing a user requested compaction");
302307
userCompactionRequested++;
303308
} else {
304309
// Marker was already added and we are waiting
@@ -400,7 +405,7 @@ private void cleanupTabletMetadata(FateId fateId, Manager manager) throws Except
400405
mutator.deleteUserCompactionRequested(fateId);
401406
}
402407

403-
mutator.submit(needsNoUpdate::test);
408+
mutator.submit(needsNoUpdate::test, () -> "cleanup metadata for failed compaction");
404409
}
405410
}
406411
}

server/manager/src/main/java/org/apache/accumulo/manager/tableOps/delete/ReserveTablets.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public long isReady(FateId fateId, Manager manager) throws Exception {
9696
// must wait for the tablet to have no location before proceeding to actually delete. See
9797
// the documentation about the opid column in the MetadataSchema class for more details.
9898
conditionalMutator.mutateTablet(tabletMeta.getExtent()).requireAbsentOperation()
99-
.putOperation(opid).submit(tm -> opid.equals(tm.getOperationId()));
99+
.putOperation(opid).submit(tm -> opid.equals(tm.getOperationId()), () -> "put opid");
100100
submitted++;
101101
}
102102
}

server/manager/src/main/java/org/apache/accumulo/manager/tableOps/merge/DeleteRows.java

+15-10
Original file line numberDiff line numberDiff line change
@@ -178,16 +178,21 @@ private Optional<KeyExtent> deleteTabletFiles(Manager manager, FateId fateId) {
178178
}
179179
}
180180

181-
filesToDelete.forEach(file -> log.debug("{} deleting file {} for {}", fateId, file,
182-
tabletMetadata.getExtent()));
183-
filesToAddMap.forEach((file, dfv) -> log.debug("{} adding file {} {} for {}", fateId, file,
184-
dfv, tabletMetadata.getExtent()));
185-
186-
filesToDelete.forEach(tabletMutator::deleteFile);
187-
filesToAddMap.forEach(tabletMutator::putFile);
188-
189-
tabletMutator.submit(tm -> tm.getFiles().containsAll(filesToAddMap.keySet())
190-
&& Collections.disjoint(tm.getFiles(), filesToDelete));
181+
filesToDelete.forEach(file -> {
182+
log.debug("{} deleting file {} for {}", fateId, file, tabletMetadata.getExtent());
183+
tabletMutator.deleteFile(file);
184+
});
185+
186+
filesToAddMap.forEach((file, dfv) -> {
187+
log.debug("{} adding file {} {} for {}", fateId, file, dfv, tabletMetadata.getExtent());
188+
tabletMutator.putFile(file, dfv);
189+
});
190+
191+
tabletMutator
192+
.submit(
193+
tm -> tm.getFiles().containsAll(filesToAddMap.keySet())
194+
&& Collections.disjoint(tm.getFiles(), filesToDelete),
195+
() -> "delete tablet files");
191196
}
192197

193198
var results = tabletsMutator.process();

0 commit comments

Comments
 (0)