Skip to content

Commit b4c60e5

Browse files
authored
Log write failures for watcher history document. (#44129)
The failure is correctly getting propagated, this commit adds support to explicitly look for .watch-history failures using the same logging strategy as triggered watch failures.
1 parent 0ea96e4 commit b4c60e5

File tree

1 file changed

+13
-4
lines changed
  • x-pack/plugin/watcher/src/main/java/org/elasticsearch/xpack/watcher

1 file changed

+13
-4
lines changed

x-pack/plugin/watcher/src/main/java/org/elasticsearch/xpack/watcher/Watcher.java

+13-4
Original file line numberDiff line numberDiff line change
@@ -330,14 +330,23 @@ public void beforeBulk(long executionId, BulkRequest request) {
330330
@Override
331331
public void afterBulk(long executionId, BulkRequest request, BulkResponse response) {
332332
if (response.hasFailures()) {
333-
Map<String, String> triggeredWatches = Arrays.stream(response.getItems())
333+
Map<String, String> triggeredFailures = Arrays.stream(response.getItems())
334334
.filter(BulkItemResponse::isFailed)
335335
.filter(r -> r.getIndex().startsWith(TriggeredWatchStoreField.INDEX_NAME))
336336
.collect(Collectors.toMap(BulkItemResponse::getId, BulkItemResponse::getFailureMessage));
337-
if (triggeredWatches.isEmpty() == false) {
338-
String failure = triggeredWatches.values().stream().collect(Collectors.joining(", "));
337+
Map<String, String> historyFailures = Arrays.stream(response.getItems())
338+
.filter(BulkItemResponse::isFailed)
339+
.filter(r -> r.getIndex().startsWith(HistoryStoreField.INDEX_PREFIX))
340+
.collect(Collectors.toMap(BulkItemResponse::getId, BulkItemResponse::getFailureMessage));
341+
if (triggeredFailures.isEmpty() == false) {
342+
String failure = triggeredFailures.values().stream().collect(Collectors.joining(", "));
339343
logger.error("triggered watches could not be deleted {}, failure [{}]",
340-
triggeredWatches.keySet(), Strings.substring(failure, 0, 2000));
344+
triggeredFailures.keySet(), Strings.substring(failure, 0, 2000));
345+
}
346+
if (historyFailures.isEmpty() == false) {
347+
String failure = historyFailures.values().stream().collect(Collectors.joining(", "));
348+
logger.error("watch history could not be written {}, failure [{}]",
349+
historyFailures.keySet(), Strings.substring(failure, 0, 2000));
341350
}
342351

343352
Map<String, String> overwrittenIds = Arrays.stream(response.getItems())

0 commit comments

Comments
 (0)