client side readtimeout support 85/109185/2
authorRavi Pendurty <ravi.pendurty@highstreet-technologies.com>
Tue, 16 Jun 2020 09:23:52 +0000 (11:23 +0200)
committerRavi Pendurty <ravi.pendurty@highstreet-technologies.com>
Wed, 17 Jun 2020 10:37:08 +0000 (12:37 +0200)
clientside readtimeout support for mountpoint-registrar using the updated dmaap client library

Issue-ID: SDNC-1246
Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
Change-Id: I7e60c7b30c0378dfb09b16160714e742162b1790
Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
sdnr/wt/mountpoint-registrar/provider/pom.xml
sdnr/wt/mountpoint-registrar/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/mountpointregistrar/impl/DMaaPVESMsgConsumerImpl.java
sdnr/wt/mountpoint-registrar/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/mountpointregistrar/impl/DMaaPVESMsgConsumerMain.java
sdnr/wt/mountpoint-registrar/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/mountpointregistrar/impl/FaultConfig.java
sdnr/wt/mountpoint-registrar/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/mountpointregistrar/impl/MountpointRegistrarImpl.java
sdnr/wt/mountpoint-registrar/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/mountpointregistrar/impl/PNFRegistrationConfig.java
sdnr/wt/mountpoint-registrar/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/mountpointregistrar/test/PNFRegistrationConfigTest.java
sdnr/wt/mountpoint-registrar/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/mountpointregistrar/test/TestFaultConfig.java
sdnr/wt/mountpoint-state-provider/provider/pom.xml

index 8d64d67..60210ea 100644 (file)
         <dependency>
             <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
             <artifactId>dmaapClient</artifactId>
-            <version>1.1.10</version>
+            <version>1.1.12</version>
         </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
index bf8596c..1164a9a 100644 (file)
@@ -66,6 +66,9 @@ public abstract class DMaaPVESMsgConsumerImpl implements DMaaPVESMsgConsumer {
                                        if (noData) {
                                                LOG.debug(name + " received ResponseCode: " + consumerResponse.getResponseCode());
                                                LOG.debug(name + " received ResponseMessage: " + consumerResponse.getResponseMessage());
+                                               if ((consumerResponse.getResponseCode() == null) && (consumerResponse.getResponseMessage().contains("SocketTimeoutException"))) {
+                                                       LOG.warn("Client timeout while waiting for response from Server {}", consumerResponse.getResponseMessage());
+                                               }
                                                pauseThread();
                                        }
                                } catch (Exception e) {
index 6d608bf..26afd19 100644 (file)
@@ -63,6 +63,8 @@ public class DMaaPVESMsgConsumerMain implements Runnable {
                        consumerProperties.put(PNFRegistrationConfig.PROPERTY_KEY_CONSUMER_PROTOCOL, pnfRegistrationConfig.getProtocol());
                        consumerProperties.put(PNFRegistrationConfig.PROPERTY_KEY_CONSUMER_USERNAME, pnfRegistrationConfig.getUsername());
                        consumerProperties.put(PNFRegistrationConfig.PROPERTY_KEY_CONSUMER_PASSWORD, pnfRegistrationConfig.getPassword());
+                       consumerProperties.put(PNFRegistrationConfig.PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT, pnfRegistrationConfig.getClientReadTimeout());
+                       consumerProperties.put(PNFRegistrationConfig.PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT, pnfRegistrationConfig.getClientConnectTimeout());
                } else if (domain.equalsIgnoreCase("fault")) {
                        this.faultConfig = (FaultConfig) domainConfig;
                        consumerClass = faultConfig.getConsumerClass();
@@ -79,6 +81,8 @@ public class DMaaPVESMsgConsumerMain implements Runnable {
                        consumerProperties.put(FaultConfig.PROPERTY_KEY_CONSUMER_PROTOCOL, faultConfig.getProtocol());
                        consumerProperties.put(FaultConfig.PROPERTY_KEY_CONSUMER_USERNAME, faultConfig.getUsername());
                        consumerProperties.put(FaultConfig.PROPERTY_KEY_CONSUMER_PASSWORD, faultConfig.getPassword());
+                       consumerProperties.put(FaultConfig.PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT, faultConfig.getClientReadTimeout());
+                       consumerProperties.put(FaultConfig.PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT, faultConfig.getClientConnectTimeout());
                }
 
                if (consumerClass != null) {
index 90757e6..dc0ed9c 100644 (file)
@@ -61,6 +61,12 @@ public class FaultConfig implements Configuration {
 
        public static final String PROPERTY_KEY_CONSUMER_FETCHPAUSE = "fetchPause";
        private static final String DEFAULT_VALUE_CONSUMER_FETCHPAUSE = "5000";
+       
+    public static final String PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT="jersey.config.client.readTimeout";
+    private static final String DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT="25000";
+    
+    public static final String PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT="jersey.config.client.connectTimeout";
+    private static final String DEFAULT_VALUE_CONSUMER_CLIENT_CONNECTTIMEOUT="25000";
 
        private final ConfigurationFileRepresentation configuration;
 
@@ -91,6 +97,8 @@ public class FaultConfig implements Configuration {
                configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT, DEFAULT_VALUE_CONSUMER_TIMEOUT);
                configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT, DEFAULT_VALUE_CONSUMER_LIMIT);
                configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE, DEFAULT_VALUE_CONSUMER_FETCHPAUSE);
+               configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT, DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT);
+               configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT, DEFAULT_VALUE_CONSUMER_CLIENT_CONNECTTIMEOUT);
 
        }
 
@@ -145,5 +153,14 @@ public class FaultConfig implements Configuration {
        public String getContenttype() {
                return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE);
        }
+       
+       public String getClientReadTimeout() {
+               return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT);
+       }
+       
+       public String getClientConnectTimeout() {
+               return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT);
+       }
+
 
 }
index 1155462..a993f23 100644 (file)
@@ -39,7 +39,7 @@ public class MountpointRegistrarImpl implements AutoCloseable, IConfigChangedLis
 
        private GeneralConfig generalConfig;
        private boolean dmaapEnabled = false;
-       Map<String, Configuration> configMap = new HashMap<>();
+       private Map<String, Configuration> configMap = new HashMap<>();
 
        // Blueprint 1
        public MountpointRegistrarImpl() {
index 26ece6b..79f96db 100644 (file)
@@ -63,6 +63,12 @@ public class PNFRegistrationConfig implements Configuration {
     public static final String PROPERTY_KEY_CONSUMER_FETCHPAUSE = "fetchPause";
     private static final String DEFAULT_VALUE_CONSUMER_FETCHPAUSE = "5000";
     
+    public static final String PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT="jersey.config.client.readTimeout";
+    private static final String DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT="25000";
+    
+    public static final String PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT="jersey.config.client.connectTimeout";
+    private static final String DEFAULT_VALUE_CONSUMER_CLIENT_CONNECTTIMEOUT="25000";
+        
        private final ConfigurationFileRepresentation configuration;
 
        public PNFRegistrationConfig(ConfigurationFileRepresentation configuration) {
@@ -91,7 +97,8 @@ public class PNFRegistrationConfig implements Configuration {
                configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT, DEFAULT_VALUE_CONSUMER_TIMEOUT);
                configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT, DEFAULT_VALUE_CONSUMER_LIMIT);
                configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE, DEFAULT_VALUE_CONSUMER_FETCHPAUSE);
-
+               configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT, DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT);
+               configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT, DEFAULT_VALUE_CONSUMER_CLIENT_CONNECTTIMEOUT);
        }
 
        public String getConsumerClass() {
@@ -145,4 +152,12 @@ public class PNFRegistrationConfig implements Configuration {
        public String getContenttype() {
                return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE);
        }
+       
+       public String getClientReadTimeout() {
+               return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT);
+       }
+       
+       public String getClientConnectTimeout() {
+               return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT);
+       }
 }
index 1049bf9..39488f8 100644 (file)
@@ -47,6 +47,8 @@ public class PNFRegistrationConfigTest {
                        "timeout=20000\n" +
                        "limit=10000\n" +
                        "fetchPause=5000\n" +
+                       "jersey.config.client.readTimeout=25000\n" +
+                       "jersey.config.client.connectTimeout=25000\n" +
                        "";
 
        private ConfigurationFileRepresentation cfg;
@@ -71,7 +73,8 @@ public class PNFRegistrationConfigTest {
                        assertEquals("http", pnfCfg.getProtocol());
                        assertEquals("username", pnfCfg.getUsername());
                        assertEquals("password", pnfCfg.getPassword());
-
+                       assertEquals("25000", pnfCfg.getClientReadTimeout());
+                       assertEquals("25000", pnfCfg.getClientConnectTimeout());
 
                } catch (IOException e) {
                        // TODO Auto-generated catch block
index 73cd5aa..e07b975 100644 (file)
@@ -47,6 +47,8 @@ public class TestFaultConfig {
                        "timeout=20000\n" +
                        "limit=10000\n" +
                        "fetchPause=5000\n" +
+                       "jersey.config.client.readTimeout=25000\n" +
+                       "jersey.config.client.connectTimeout=25000\n" +
                        "\n" +
                        "";
 
@@ -72,6 +74,8 @@ public class TestFaultConfig {
                        assertEquals("http", faultCfg.getProtocol());
                        assertEquals("username", faultCfg.getUsername());
                        assertEquals("password", faultCfg.getPassword());
+                       assertEquals("25000", faultCfg.getClientReadTimeout());
+                       assertEquals("25000", faultCfg.getClientConnectTimeout());
 
                } catch (IOException e) {
                        // TODO Auto-generated catch block
index da8e723..e47a560 100644 (file)
@@ -69,7 +69,7 @@
         </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
-            <artifactId>sdnr-wt-netconfnode-state-service-provider</artifactId>
+            <artifactId>sdnr-wt-netconfnode-state-service-model</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
         <dependency>
             <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
             <artifactId>dmaapClient</artifactId>
-            <version>1.1.10</version>
+            <version>1.1.12</version>
         </dependency>
     </dependencies>