Module sync task failing with WebClient 95/137795/5
authorleventecsanyi <levente.csanyi@est.tech>
Fri, 26 Apr 2024 11:35:32 +0000 (13:35 +0200)
committerleventecsanyi <levente.csanyi@est.tech>
Fri, 26 Apr 2024 14:08:40 +0000 (16:08 +0200)
    - added configurable buffer size

Issue-ID: CPS-2195
Change-Id: I7cdb09856fd4d80134a91e54faa7e6600f3721dc
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
cps-application/src/main/resources/application.yml
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfiguration.java
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfigurationSpec.groovy
cps-ncmp-service/src/test/resources/application.yml
integration-test/src/test/resources/application.yml

index 27bc6c6..aeec8a2 100644 (file)
@@ -174,6 +174,7 @@ ncmp:
             maximumConnectionsPerRoute: 50
             maximumConnectionsTotal: 100
             idleConnectionEvictionThresholdInSeconds: 5
+            maximumInMemorySizeInMegabytes: 16
         auth:
             username: ${DMI_USERNAME}
             password: ${DMI_PASSWORD}
index 4f9e880..8ac2e3f 100644 (file)
@@ -46,6 +46,9 @@ public class DmiWebClientConfiguration {
     @Value("${ncmp.dmi.httpclient.connectionTimeoutInSeconds:20000}")
     private Integer connectionTimeoutInSeconds;
 
+    @Value("${ncmp.dmi.httpclient.maximumInMemorySizeInMegabytes:1}")
+    private Integer maximumInMemorySizeInMegabytes;
+
     @Getter
     @Component
     public static class DmiProperties {
@@ -77,6 +80,9 @@ public class DmiWebClientConfiguration {
                 .defaultHeaders(header -> header.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE))
                 .defaultHeaders(header -> header.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE))
                 .clientConnector(new ReactorClientHttpConnector(httpClient))
+                .codecs(configurer -> configurer
+                        .defaultCodecs()
+                        .maxInMemorySize(maximumInMemorySizeInMegabytes * 1024 * 1024))
                 .build();
     }
 }
index c9491cd..2ce5b50 100644 (file)
@@ -29,7 +29,7 @@ import spock.lang.Specification
 
 @SpringBootTest
 @ContextConfiguration(classes = [DmiWebClientConfiguration.DmiProperties])
-@TestPropertySource(properties = ["ncmp.dmi.httpclient.connectionTimeoutInSeconds=1"])
+@TestPropertySource(properties = ["ncmp.dmi.httpclient.connectionTimeoutInSeconds=1", "ncmp.dmi.httpclient.maximumInMemorySizeInMegabytes=1"])
 class DmiWebClientConfigurationSpec extends Specification {
 
     @Autowired
@@ -39,6 +39,7 @@ class DmiWebClientConfigurationSpec extends Specification {
 
     def setup() {
         objectUnderTest.connectionTimeoutInSeconds = 10
+        objectUnderTest.maximumInMemorySizeInMegabytes = 1
     }
 
     def 'DMI Properties.'() {
index 574b499..eca28b9 100644 (file)
@@ -38,6 +38,7 @@ ncmp:
     dmi:
         httpclient:
             connectionTimeoutInSeconds: 180
+            maximumInMemorySizeInMegabytes: 16
         auth:
             username: some-user
             password: some-password
index 6fd3bca..407210f 100644 (file)
@@ -169,6 +169,7 @@ ncmp:
       maximumConnectionsPerRoute: 50
       maximumConnectionsTotal: 100
       idleConnectionEvictionThresholdInSeconds: 5
+      maximumInMemorySizeInMegabytes: 16
     auth:
       username: dmi
       password: dmi