This is an automated email from the ASF dual-hosted git repository. SvenO3 pushed a commit to branch remove-groovy-support-from-adapter-script-transformation in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit 4ae6667d9dc354130af5754849b95180630900cf Merge: 7ed9d3fa03 87ffcff1ae Author: Sven Oehler <[email protected]> AuthorDate: Mon Jun 29 15:31:21 2026 +0200 Merge branch 'dev' of https://github.com/apache/streampipes into remove-groovy-support-from-adapter-script-transformation .../connect/AdapterTransitionRegistry.java | 80 +++++++++++++ .../connect/AdapterWorkerManagement.java | 83 +++++++------ .../connect/AdapterWorkerRequestManagement.java | 7 +- .../monitoring/HealthCheckManagement.java | 53 +++++++-- .../connect/AdapterWorkerManagementTest.java | 17 ++- .../health/monitoring/AdapterHealthCheck.java | 19 ++- .../ExtensionInstanceAvailabilityCheck.java | 7 +- .../health/monitoring/AdapterHealthCheckTest.java | 129 +++++++++++++++++++++ ...stanceHealth.java => AdapterInstanceState.java} | 8 +- .../model/health/ExtensionInstanceHealth.java | 3 +- 10 files changed, 345 insertions(+), 61 deletions(-) diff --cc streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/AdapterWorkerManagement.java index f3d17fd20e,4df5066ff1..ea0df9a89d --- a/streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/AdapterWorkerManagement.java +++ b/streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/AdapterWorkerManagement.java @@@ -54,32 -56,36 +57,37 @@@ public class AdapterWorkerManagement } public void invokeAdapter(AdapterDescription adapterDescription) throws AdapterException { - var adapter = declarers - .getAdapter(adapterDescription.getAppId()); - - if (adapter.isPresent()) { - var newAdapterInstance = adapter.get().declareConfig().getSupplier().get(); - validateScriptLanguage(adapterDescription); - runningAdapterInstances.addAdapter( - adapterDescription.getElementId(), - newAdapterInstance, - adapterDescription); - - // This method allows adapters to modify the adapter description prior to invocation. - // It is particularly useful for adapters like FileReplayAdapter that need to manipulate timestamp values - // internally, bypassing the adapter preprocessing pipeline. - newAdapterInstance.preprocessAdapterDescription(adapterDescription); - - var registeredParsers = newAdapterInstance.declareConfig().getSupportedParsers(); - var extractor = AdapterParameterExtractor.from(adapterDescription, registeredParsers); - var runtimeContext = makeRuntimeContext(adapterDescription.getElementId()); - var eventCollector = EventCollector.from(adapterDescription, runtimeContext); - - newAdapterInstance.onAdapterStarted(extractor, eventCollector, runtimeContext); - } else { - var errorMessage = "Adapter with id %s could not be found".formatted(adapterDescription.getAppId()); - LOG.error(errorMessage); - throw new AdapterException(errorMessage); + adapterTransitionRegistry.registerStarting(adapterDescription.getElementId()); + try { + var adapter = declarers + .getAdapter(adapterDescription.getAppId()); + + if (adapter.isPresent()) { + var newAdapterInstance = adapter.get().declareConfig().getSupplier().get(); ++ validateScriptLanguage(adapterDescription); + runningAdapterInstances.addAdapter( + adapterDescription.getElementId(), + newAdapterInstance, + adapterDescription); + + // This method allows adapters to modify the adapter description prior to invocation. + // It is particularly useful for adapters like FileReplayAdapter that need to manipulate timestamp values + // internally, bypassing the adapter preprocessing pipeline. + newAdapterInstance.preprocessAdapterDescription(adapterDescription); + + var registeredParsers = newAdapterInstance.declareConfig().getSupportedParsers(); + var extractor = AdapterParameterExtractor.from(adapterDescription, registeredParsers); + var runtimeContext = makeRuntimeContext(adapterDescription.getElementId()); + var eventCollector = EventCollector.from(adapterDescription, runtimeContext); + + newAdapterInstance.onAdapterStarted(extractor, eventCollector, runtimeContext); + } else { + var errorMessage = "Adapter with id %s could not be found".formatted(adapterDescription.getAppId()); + LOG.error(errorMessage); + throw new AdapterException(errorMessage); + } + } finally { + adapterTransitionRegistry.deregisterStarting(adapterDescription.getElementId()); } }
