From 5a48974558ea300b76ad20a84850c0523877eb63 Mon Sep 17 00:00:00 2001 From: leventecsanyi Date: Fri, 26 Apr 2024 13:35:32 +0200 Subject: Module sync task failing with WebClient - added configurable buffer size Issue-ID: CPS-2195 Change-Id: I7cdb09856fd4d80134a91e54faa7e6600f3721dc Signed-off-by: leventecsanyi --- cps-application/src/main/resources/application.yml | 1 + .../onap/cps/ncmp/api/impl/config/DmiWebClientConfiguration.java | 6 ++++++ .../cps/ncmp/api/impl/config/DmiWebClientConfigurationSpec.groovy | 3 ++- cps-ncmp-service/src/test/resources/application.yml | 1 + integration-test/src/test/resources/application.yml | 1 + 5 files changed, 11 insertions(+), 1 deletion(-) diff --git a/cps-application/src/main/resources/application.yml b/cps-application/src/main/resources/application.yml index 27bc6c618..aeec8a255 100644 --- a/cps-application/src/main/resources/application.yml +++ b/cps-application/src/main/resources/application.yml @@ -174,6 +174,7 @@ ncmp: maximumConnectionsPerRoute: 50 maximumConnectionsTotal: 100 idleConnectionEvictionThresholdInSeconds: 5 + maximumInMemorySizeInMegabytes: 16 auth: username: ${DMI_USERNAME} password: ${DMI_PASSWORD} diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfiguration.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfiguration.java index 4f9e8800d..8ac2e3fc1 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfiguration.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfiguration.java @@ -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(); } } diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfigurationSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfigurationSpec.groovy index c9491cd02..2ce5b5009 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfigurationSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/DmiWebClientConfigurationSpec.groovy @@ -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.'() { diff --git a/cps-ncmp-service/src/test/resources/application.yml b/cps-ncmp-service/src/test/resources/application.yml index 574b49982..eca28b991 100644 --- a/cps-ncmp-service/src/test/resources/application.yml +++ b/cps-ncmp-service/src/test/resources/application.yml @@ -38,6 +38,7 @@ ncmp: dmi: httpclient: connectionTimeoutInSeconds: 180 + maximumInMemorySizeInMegabytes: 16 auth: username: some-user password: some-password diff --git a/integration-test/src/test/resources/application.yml b/integration-test/src/test/resources/application.yml index 6fd3bcae4..407210fa3 100644 --- a/integration-test/src/test/resources/application.yml +++ b/integration-test/src/test/resources/application.yml @@ -169,6 +169,7 @@ ncmp: maximumConnectionsPerRoute: 50 maximumConnectionsTotal: 100 idleConnectionEvictionThresholdInSeconds: 5 + maximumInMemorySizeInMegabytes: 16 auth: username: dmi password: dmi -- cgit 1.2.3-korg