From d29b8a443e3779f107d14069cc9bad3ea963d319 Mon Sep 17 00:00:00 2001 From: Niels Bauman <33722607+nielsbauman@users.noreply.github.com> Date: Mon, 24 Feb 2025 14:56:37 +0100 Subject: [PATCH] Fix NPE in `ReindexDataStreamTransportAction` (#123262) In the multi-project branch, we're making some changes to persistent tasks and those changes can cause the persistent tasks custom to still be `null`. This resulted in an NPE here, so I'm fixing the check here. --- .../migrate/action/ReindexDataStreamTransportAction.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/x-pack/plugin/migrate/src/main/java/org/elasticsearch/xpack/migrate/action/ReindexDataStreamTransportAction.java b/x-pack/plugin/migrate/src/main/java/org/elasticsearch/xpack/migrate/action/ReindexDataStreamTransportAction.java index 899e333120bf5..6a3a9feac8904 100644 --- a/x-pack/plugin/migrate/src/main/java/org/elasticsearch/xpack/migrate/action/ReindexDataStreamTransportAction.java +++ b/x-pack/plugin/migrate/src/main/java/org/elasticsearch/xpack/migrate/action/ReindexDataStreamTransportAction.java @@ -82,11 +82,7 @@ protected void doExecute(Task task, ReindexDataStreamRequest request, ActionList ClientHelper.getPersistableSafeSecurityHeaders(transportService.getThreadPool().getThreadContext(), clusterService.state()) ); String persistentTaskId = getPersistentTaskId(sourceDataStreamName); - - PersistentTasksCustomMetadata persistentTasksCustomMetadata = clusterService.state() - .getMetadata() - .custom(PersistentTasksCustomMetadata.TYPE); - PersistentTasksCustomMetadata.PersistentTask persistentTask = persistentTasksCustomMetadata.getTask(persistentTaskId); + final var persistentTask = PersistentTasksCustomMetadata.getTaskWithId(clusterService.state(), persistentTaskId); if (persistentTask == null) { startTask(listener, persistentTaskId, params);