From c442a1647d414716ebc7fee63cba7c8eb607ba8d Mon Sep 17 00:00:00 2001 From: Mark Farkas <119574841+markfarkas-camunda@users.noreply.github.com> Date: Mon, 5 Feb 2024 15:26:28 +0100 Subject: [PATCH] fix(inbound): fix saving already processed process definition keys (#1883) * fix(inbound): fix saving already processed process definition keys * fix(inbound): fix code formatting (cherry picked from commit fb09ab5688bb30c1f065bfb9b971f294e6e8810f) --- .../inbound/importer/ProcessDefinitionImporter.java | 10 +++++----- .../inbound/lifecycle/InboundConnectorManager.java | 6 ++---- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporter.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporter.java index da118dca72..046a96d912 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporter.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporter.java @@ -86,11 +86,6 @@ public void handleImportedDefinitions(List unprocessedDefinit logResult(brandNew, upgraded, deleted); meter(brandNew.size()); - registeredProcessDefinitionKeys.addAll( - notYetRegistered.stream().map(ProcessDefinition::getKey).toList()); - registeredProcessDefinitionKeys.removeAll(deleted); - registeredProcessDefinitionKeys.removeAll(oldProcessDefinitionKeys); - notYetRegistered.forEach( definition -> versionByBpmnProcessId.put(definition.getBpmnProcessId(), definition)); @@ -103,6 +98,11 @@ public void handleImportedDefinitions(List unprocessedDefinit if (!notYetRegistered.isEmpty()) { connectorManager.handleNewProcessDefinitions(notYetRegistered); } + + registeredProcessDefinitionKeys.addAll( + notYetRegistered.stream().map(ProcessDefinition::getKey).toList()); + registeredProcessDefinitionKeys.removeAll(deleted); + registeredProcessDefinitionKeys.removeAll(oldProcessDefinitionKeys); } private List keepOnlyLatestVersions(List unprocessed) { diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/lifecycle/InboundConnectorManager.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/lifecycle/InboundConnectorManager.java index a555cc63ef..9f097d0168 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/lifecycle/InboundConnectorManager.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/lifecycle/InboundConnectorManager.java @@ -26,7 +26,6 @@ import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionInspector; import io.camunda.connector.runtime.inbound.webhook.WebhookConnectorRegistry; import io.camunda.connector.runtime.metrics.ConnectorMetrics.Inbound; -import io.camunda.operate.exception.OperateException; import io.camunda.operate.model.ProcessDefinition; import io.camunda.zeebe.spring.client.metrics.MetricsRecorder; import java.util.Collection; @@ -39,7 +38,6 @@ import java.util.Set; import java.util.function.Consumer; import java.util.stream.Collectors; -import java.util.stream.Stream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -80,9 +78,9 @@ public void handleNewProcessDefinitions(Set newProcessDefinit d -> { try { return processDefinitionInspector.findInboundConnectors(d).stream(); - } catch (OperateException e) { + } catch (Exception e) { LOG.error("Failed to inspect process definition {}", d.getKey(), e); - return Stream.empty(); + throw new RuntimeException(e); } }) .toList();