From 1162cee73072202d4ea9efda83855c585d1604ed Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 27 Sep 2024 10:48:20 +0200 Subject: [PATCH 1/5] log reuse persistenceBackend --- .../telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java | 1 + 1 file changed, 1 insertion(+) diff --git a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java index 2ea5013b2..1121e124c 100644 --- a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java +++ b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java @@ -167,6 +167,7 @@ protected int featuresBatched() { protected ArcgisFeatureTable getPersistenceBackend(String featureServiceUrl) throws CygnusRuntimeError { if (arcgisPersistenceBackend.containsKey(featureServiceUrl)) { + LOGGER.debug("Using persistenceBackend which contains key for Feature table: " + featureServiceUrl); return arcgisPersistenceBackend.get(featureServiceUrl); } else { LOGGER.debug("Creating new persistenceBackend for Feature table: " + featureServiceUrl); From 8058d6e8ebfcd5030e003c257aad0494a4bae3c4 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 27 Sep 2024 11:11:34 +0200 Subject: [PATCH 2/5] check if connected --- .../cygnus/backends/arcgis/restutils/ArcgisFeatureTable.java | 4 ++++ .../iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/restutils/ArcgisFeatureTable.java b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/restutils/ArcgisFeatureTable.java index 239654631..f029a2268 100644 --- a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/restutils/ArcgisFeatureTable.java +++ b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/restutils/ArcgisFeatureTable.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; +import java.net.SocketException; import com.telefonica.iot.cygnus.backends.arcgis.exceptions.ArcgisException; import com.telefonica.iot.cygnus.backends.arcgis.model.Credential; @@ -593,6 +594,9 @@ private void setError(Exception e) { this.errorCode = agsEx.getCode(); } else { if (e != null && e.getCause() != null) { + if (e.getCause() instanceof SocketException) { + connected = false; + } LOGGER.error("Error Cause: " + e.getCause().getMessage()); } LOGGER.error("Error Message: " + e.getMessage()); diff --git a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java index 1121e124c..34ef2d456 100644 --- a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java +++ b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java @@ -166,7 +166,8 @@ protected int featuresBatched() { */ protected ArcgisFeatureTable getPersistenceBackend(String featureServiceUrl) throws CygnusRuntimeError { - if (arcgisPersistenceBackend.containsKey(featureServiceUrl)) { + if (arcgisPersistenceBackend.containsKey(featureServiceUrl) && + arcgisPersistenceBackend.get(featureServiceUrl).connected() ){ LOGGER.debug("Using persistenceBackend which contains key for Feature table: " + featureServiceUrl); return arcgisPersistenceBackend.get(featureServiceUrl); } else { From da48cc7e6ac839e658f889114f423019ec327d8a Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 27 Sep 2024 13:12:58 +0200 Subject: [PATCH 3/5] update CNR --- CHANGES_NEXT_RELEASE | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index 8b1378917..53933e414 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1 +1,3 @@ +- [cygnus-ngsi][arcgis] Check feature table is connected before use it +- [cygnus-ngsi][arcgis] Set feature table to not connected after a connection error From 5e71ef4d765543b855ad6eb3149d126b30537c84 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Mon, 30 Sep 2024 08:39:19 +0200 Subject: [PATCH 4/5] log in info creation/reuse feature table --- .../iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java index 34ef2d456..dcca4c28d 100644 --- a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java +++ b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java @@ -168,10 +168,10 @@ protected ArcgisFeatureTable getPersistenceBackend(String featureServiceUrl) thr if (arcgisPersistenceBackend.containsKey(featureServiceUrl) && arcgisPersistenceBackend.get(featureServiceUrl).connected() ){ - LOGGER.debug("Using persistenceBackend which contains key for Feature table: " + featureServiceUrl); + LOGGER.info("Using persistenceBackend which contains key for Feature table: " + featureServiceUrl); return arcgisPersistenceBackend.get(featureServiceUrl); } else { - LOGGER.debug("Creating new persistenceBackend for Feature table: " + featureServiceUrl); + LOGGER.info("Creating new persistenceBackend for Feature table: " + featureServiceUrl); LOGGER.debug("Token url: " + getGetTokenUrl()); try { NGSIArcgisFeatureTable newTable = new NGSIArcgisFeatureTable(featureServiceUrl, getUsername(), From 946110079f4bb56d9f0ae9da554e3aa229bc523c Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Tue, 1 Oct 2024 16:21:19 +0200 Subject: [PATCH 5/5] Update CHANGES_NEXT_RELEASE --- CHANGES_NEXT_RELEASE | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index 53933e414..062ec4b8f 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1,3 +1,2 @@ -- [cygnus-ngsi][arcgis] Check feature table is connected before use it -- [cygnus-ngsi][arcgis] Set feature table to not connected after a connection error - +- [cygnus-ngsi][arcgis] Check feature table is connected before use it (#2405) +- [cygnus-ngsi][arcgis] Set feature table to not connected after a connection error (#2405)