This is an automated email from the ASF dual-hosted git repository. tenthe pushed a commit to branch 4479-reset-endpoint-fails-when-pipeline-has-missing-health-status in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit 3756632ddaa519b795e59825effec6400aea93fd Author: Philipp Zehnder <[email protected]> AuthorDate: Mon May 18 10:08:20 2026 +0200 fix(#4479): handle missing pipeline health status during reset --- .../manager/execution/task/StorePipelineStatusTask.java | 14 +++++++++++++- .../streampipes/manager/pipeline/PipelineManager.java | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/execution/task/StorePipelineStatusTask.java b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/execution/task/StorePipelineStatusTask.java index 2797c77ebc..e5f465190c 100644 --- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/execution/task/StorePipelineStatusTask.java +++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/execution/task/StorePipelineStatusTask.java @@ -80,10 +80,22 @@ public class StorePipelineStatusTask implements PipelineExecutionTask { pipeline.setRunning(false); pipelinesStats.updatePipelineRunningState(pipeline.getElementId(),pipeline.getName() , false); - pipelinesStats.updatePipelineHealthState(pipeline.getElementId(),pipeline.getName(), pipeline.getHealthStatus().toString()); + pipelinesStats.updatePipelineHealthState( + pipeline.getElementId(), + pipeline.getName(), + getHealthStatus(pipeline).toString() + ); getPipelineStorageApi().updateElement(pipeline); } + private PipelineHealthStatus getHealthStatus(Pipeline pipeline) { + if (pipeline.getHealthStatus() == null) { + pipeline.setHealthStatus(PipelineHealthStatus.OK); + } + + return pipeline.getHealthStatus(); + } + private IPipelineStorage getPipelineStorageApi() { return StorageDispatcher.INSTANCE.getNoSqlStore().getPipelineStorageAPI(); } diff --git a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/pipeline/PipelineManager.java b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/pipeline/PipelineManager.java index 0da4b65eca..23bbfec454 100644 --- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/pipeline/PipelineManager.java +++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/pipeline/PipelineManager.java @@ -26,6 +26,7 @@ import org.apache.streampipes.manager.storage.PipelineStorageService; import org.apache.streampipes.model.base.NamedStreamPipesEntity; import org.apache.streampipes.model.client.user.Permission; import org.apache.streampipes.model.pipeline.Pipeline; +import org.apache.streampipes.model.pipeline.PipelineHealthStatus; import org.apache.streampipes.model.pipeline.PipelineOperationStatus; import org.apache.streampipes.resource.management.CrudResourceManager; import org.apache.streampipes.storage.api.pipeline.IPipelineStorage; @@ -181,6 +182,7 @@ public class PipelineManager { ) { pipeline.setPipelineId(pipelineId); pipeline.setRunning(false); + pipeline.setHealthStatus(PipelineHealthStatus.OK); pipeline.setCreatedByUser(username); pipeline.setCreatedAt(new Date().getTime()); pipeline.getSepas()
