You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by oe...@apache.org on 2026/06/29 13:31:32 UTC
(streampipes) 01/01: Merge branch 'dev' of https://github.com/apache/streampipes into remove-groovy-support-from-adapter-script-transformation
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 <oe...@web.de>
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());
}
}