Skip to content

Update to Cloud SDK 5.35.0 breaks tests with connection pool size of 1 #1297

Description

@mofterdinger

Describe the Bug

Hi, I'm from CAP Java and we are using the Cloud SDK for outgoing HTTP requsts in several scenarios. After upgrading the Cloud SDK from 5.33.0 to 5.35.0 one our test is failing. This test uses an HTTP connection pool of size 1, which doesn't seem to work. I assume it's because of this PR in Cloud SDK: #1292 that was merged into 5.35.0.
It looks like the Cloud SDK requires as minimum connection pool size of 2, right ? Is this a bug or done intentionally ?

Thanks,
Markus

Steps to Reproduce

Create an HTTP connection pool with size 1 and try to send an HTTP request.

Expected Behavior

Support connection pool size of 1.

Screenshots

No response

Used Versions

  • Java and Maven version via mvn --version:
Apache Maven 3.9.16 (2bdd9fddda4b155ebf8000e807eb73fd829a51d5)
Maven home: /opt/homebrew/Cellar/maven@3.9.16/3.9.16/libexec
Java version: 25.0.4.1, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk@25/25.0.4.1/libexec/openjdk.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "27.0.1", arch: "aarch64", family: "mac"
  • SAP Cloud SDK version: 5.35.0
  • Spring Boot or CAP version: Spring-Boot 4.1.x and CAP Java 5.2.0-SNAPSHOT
Dependency tree via mvn dependency:tree
[INFO] ---------------< com.sap.cds:cds-integration-cloud-sdk >----------------
[INFO] Building CDS Cloud SDK integration 5.2.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- dependency:3.11.0:tree (default-cli) @ cds-integration-cloud-sdk ---
[INFO] com.sap.cds:cds-integration-cloud-sdk:jar:5.2.0-SNAPSHOT
[INFO] +- com.sap.cds:cds-services-api:jar:5.2.0-SNAPSHOT:compile
[INFO] |  +- com.sap.cds:cds4j-api:jar:5.2.0-m20260930-114808:compile
[INFO] |  +- org.slf4j:slf4j-api:jar:2.0.19:compile
[INFO] |  \- com.sap.cloud.environment.servicebinding.api:java-core-api:jar:0.31.0:compile
[INFO] +- com.sap.cds:cds-services-utils:jar:5.2.0-SNAPSHOT:compile
[INFO] |  +- com.sap.cds:cds-adapter-api:jar:5.2.0-SNAPSHOT:compile
[INFO] |  +- com.sap.cds:cds4j-core:jar:5.2.0-m20260930-114808:compile
[INFO] |  +- com.sap.cds:cds4j-runtime:jar:5.2.0-m20260930-114808:compile
[INFO] |  |  \- com.sap.cds:cds4j-jdbc-spi:jar:5.2.0-m20260930-114808:compile
[INFO] |  +- commons-io:commons-io:jar:2.22.0:compile
[INFO] |  +- io.opentelemetry:opentelemetry-api:jar:1.66.0:compile
[INFO] |  |  \- io.opentelemetry:opentelemetry-context:jar:1.66.0:compile
[INFO] |  |     \- io.opentelemetry:opentelemetry-common:jar:1.66.0:compile
[INFO] |  +- io.opentelemetry:opentelemetry-sdk:jar:1.66.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-sdk-common:jar:1.66.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-sdk-trace:jar:1.66.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-sdk-metrics:jar:1.66.0:compile
[INFO] |  |  \- io.opentelemetry:opentelemetry-sdk-logs:jar:1.66.0:compile
[INFO] |  +- com.google.guava:guava:jar:33.7.1-jre:compile
[INFO] |  |  +- com.google.guava:failureaccess:jar:1.0.3:compile
[INFO] |  |  +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] |  |  +- org.jspecify:jspecify:jar:1.0.1:compile
[INFO] |  |  +- com.google.errorprone:error_prone_annotations:jar:2.50.0:compile
[INFO] |  |  \- com.google.j2objc:j2objc-annotations:jar:3.1:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.21.6:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.21:compile
[INFO] |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.21.6:compile
[INFO] |  +- org.apache.commons:commons-lang3:jar:3.21.0:compile
[INFO] |  \- com.github.ben-manes.caffeine:caffeine:jar:3.3.0:compile
[INFO] +- com.sap.cds:cds-services-impl:jar:5.2.0-SNAPSHOT:runtime
[INFO] |  +- com.sap.cds:cds-services-messaging:jar:5.2.0-SNAPSHOT:runtime
[INFO] |  |  \- jakarta.jms:jakarta.jms-api:jar:3.1.0:runtime
[INFO] |  +- com.sap.cds:cds4j-cql:jar:5.2.0-m20260930-114808:runtime
[INFO] |  |  \- org.antlr:antlr4-runtime:jar:4.13.2:runtime
[INFO] |  +- com.sap.cloud.environment.servicebinding.api:java-access-api:jar:0.31.0:compile
[INFO] |  +- org.apache.commons:commons-csv:jar:1.14.1:runtime
[INFO] |  |  \- commons-codec:commons-codec:jar:1.22.1:compile
[INFO] |  \- com.cronutils:cron-utils:jar:9.2.1:runtime
[INFO] +- com.sap.cloud.sdk.cloudplatform:tenant:jar:5.35.0:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core:jar:5.35.0:compile
[INFO] |  +- io.vavr:vavr:jar:1.0.1:compile
[INFO] |  |  \- io.vavr:vavr-match:jar:1.0.0:compile
[INFO] |  \- com.auth0:java-jwt:jar:4.6.1:compile
[INFO] +- com.sap.cloud.sdk.cloudplatform:security:jar:5.35.0:compile
[INFO] +- com.sap.cloud.sdk.cloudplatform:connectivity-apache-httpclient4:jar:5.35.0:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity:jar:5.35.0:compile
[INFO] |  |  +- com.mikesamuel:json-sanitizer:jar:1.2.3:compile
[INFO] |  |  +- org.bouncycastle:bcprov-jdk18on:jar:1.86:compile
[INFO] |  |  \- org.bouncycastle:bcpkix-jdk18on:jar:1.86:compile
[INFO] |  |     \- org.bouncycastle:bcutil-jdk18on:jar:1.86:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:caching:jar:5.35.0:compile
[INFO] |  +- org.slf4j:jcl-over-slf4j:jar:2.0.19:runtime
[INFO] |  +- org.apache.httpcomponents:httpcore:jar:4.4.16:compile
[INFO] |  \- org.apache.httpcomponents:httpclient:jar:4.5.14:compile
[INFO] +- com.sap.cloud.sdk.cloudplatform:connectivity-apache-httpclient5:jar:5.35.0:compile
[INFO] |  +- org.apache.httpcomponents.client5:httpclient5:jar:5.6.4:compile
[INFO] |  |  \- org.apache.httpcomponents.core5:httpcore5-h2:jar:5.4.3:compile
[INFO] |  \- org.apache.httpcomponents.core5:httpcore5:jar:5.4.4:compile
[INFO] +- com.sap.cloud.sdk.cloudplatform:connectivity-oauth:jar:5.35.0:compile
[INFO] |  +- com.sap.cloud.environment.servicebinding.api:java-consumption-api:jar:0.31.0:compile
[INFO] |  +- com.sap.cloud.security.xsuaa:token-client:jar:4.1.2:compile
[INFO] |  +- com.sap.cloud.security:java-api:jar:4.1.2:compile
[INFO] |  +- org.json:json:jar:20260814:compile
[INFO] |  \- com.sap.cloud.security:java-security:jar:4.1.2:runtime
[INFO] |     \- com.sap.cloud.security:env:jar:4.1.2:runtime
[INFO] |        +- com.sap.cloud.environment.servicebinding:java-sap-vcap-services:jar:0.31.0:runtime
[INFO] |        \- com.sap.cloud.environment.servicebinding:java-sap-service-operator:jar:0.31.0:runtime
[INFO] +- com.sap.cloud.sdk.cloudplatform:resilience:jar:5.35.0:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:resilience-api:jar:5.35.0:compile
[INFO] |  \- com.sap.cloud.sdk.cloudplatform:resilience4j:jar:5.35.0:compile
[INFO] |     +- io.github.resilience4j:resilience4j-core:jar:2.4.0:compile
[INFO] |     +- io.github.resilience4j:resilience4j-circuitbreaker:jar:2.4.0:compile
[INFO] |     +- io.github.resilience4j:resilience4j-bulkhead:jar:2.4.0:compile
[INFO] |     +- io.github.resilience4j:resilience4j-timelimiter:jar:2.4.0:compile
[INFO] |     +- io.github.resilience4j:resilience4j-retry:jar:2.4.0:compile
[INFO] |     +- io.github.resilience4j:resilience4j-ratelimiter:jar:2.4.0:compile
[INFO] |     \- javax.cache:cache-api:jar:1.1.1:compile
[INFO] +- org.junit.jupiter:junit-jupiter:jar:6.1.3:test
[INFO] |  +- org.junit.jupiter:junit-jupiter-api:jar:6.1.3:test
[INFO] |  |  +- org.opentest4j:opentest4j:jar:1.3.0:test
[INFO] |  |  +- org.junit.platform:junit-platform-commons:jar:6.1.3:test
[INFO] |  |  \- org.apiguardian:apiguardian-api:jar:1.1.2:test
[INFO] |  +- org.junit.jupiter:junit-jupiter-params:jar:6.1.3:test
[INFO] |  \- org.junit.jupiter:junit-jupiter-engine:jar:6.1.3:test
[INFO] |     \- org.junit.platform:junit-platform-engine:jar:6.1.3:test
[INFO] +- org.hamcrest:hamcrest:jar:3.0:test
[INFO] +- org.wiremock:wiremock-jetty12:jar:3.13.2:test
[INFO] |  +- org.wiremock:wiremock:jar:3.13.2:test
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.21.6:test
[INFO] |  |  +- org.xmlunit:xmlunit-core:jar:2.11.0:test
[INFO] |  |  |  \- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:test
[INFO] |  |  |     \- jakarta.activation:jakarta.activation-api:jar:1.2.2:test
[INFO] |  |  +- org.xmlunit:xmlunit-legacy:jar:2.11.0:test
[INFO] |  |  +- org.xmlunit:xmlunit-placeholders:jar:2.11.0:test
[INFO] |  |  +- net.javacrumbs.json-unit:json-unit-core:jar:2.40.1:test
[INFO] |  |  |  \- org.hamcrest:hamcrest-core:jar:2.2:test
[INFO] |  |  +- com.jayway.jsonpath:json-path:jar:2.10.0:test
[INFO] |  |  |  \- net.minidev:json-smart:jar:2.6.0:test
[INFO] |  |  |     \- net.minidev:accessors-smart:jar:2.6.0:test
[INFO] |  |  +- net.sf.jopt-simple:jopt-simple:jar:5.0.4:test
[INFO] |  |  +- com.github.jknack:handlebars:jar:4.3.1:test
[INFO] |  |  +- com.github.jknack:handlebars-helpers:jar:4.3.1:test
[INFO] |  |  +- commons-fileupload:commons-fileupload:jar:1.6.0:test
[INFO] |  |  \- com.networknt:json-schema-validator:jar:1.5.9:test
[INFO] |  |     +- com.ethlo.time:itu:jar:1.14.0:test
[INFO] |  |     \- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.21.6:test
[INFO] |  |        \- org.yaml:snakeyaml:jar:2.7:test
[INFO] |  +- org.eclipse.jetty:jetty-server:jar:12.0.30:test
[INFO] |  |  +- org.eclipse.jetty:jetty-http:jar:12.0.30:test
[INFO] |  |  \- org.eclipse.jetty:jetty-io:jar:12.0.30:test
[INFO] |  +- org.eclipse.jetty:jetty-proxy:jar:12.0.30:test
[INFO] |  |  \- org.eclipse.jetty:jetty-client:jar:12.0.30:test
[INFO] |  +- org.eclipse.jetty:jetty-alpn-server:jar:12.0.30:test
[INFO] |  +- org.eclipse.jetty:jetty-alpn-java-server:jar:12.0.30:test
[INFO] |  +- org.eclipse.jetty:jetty-alpn-java-client:jar:12.0.30:test
[INFO] |  +- org.eclipse.jetty:jetty-alpn-client:jar:12.0.30:test
[INFO] |  +- org.eclipse.jetty.ee10:jetty-ee10-servlet:jar:12.0.30:test
[INFO] |  |  +- jakarta.servlet:jakarta.servlet-api:jar:6.0.0:provided
[INFO] |  |  +- org.eclipse.jetty:jetty-security:jar:12.0.30:test
[INFO] |  |  \- org.eclipse.jetty:jetty-session:jar:12.0.30:test
[INFO] |  +- org.eclipse.jetty.ee10:jetty-ee10-servlets:jar:12.0.30:test
[INFO] |  |  \- org.eclipse.jetty:jetty-util:jar:12.0.30:test
[INFO] |  +- org.eclipse.jetty.ee10:jetty-ee10-webapp:jar:12.0.30:test
[INFO] |  |  +- org.eclipse.jetty:jetty-ee:jar:12.0.30:test
[INFO] |  |  \- org.eclipse.jetty:jetty-xml:jar:12.0.30:test
[INFO] |  \- org.eclipse.jetty.http2:jetty-http2-server:jar:12.0.30:test
[INFO] |     \- org.eclipse.jetty.http2:jetty-http2-common:jar:12.0.30:test
[INFO] |        \- org.eclipse.jetty.http2:jetty-http2-hpack:jar:12.0.30:test
[INFO] +- org.mockito:mockito-core:jar:5.23.0:test
[INFO] |  +- net.bytebuddy:byte-buddy:jar:1.17.7:test
[INFO] |  +- net.bytebuddy:byte-buddy-agent:jar:1.17.7:test
[INFO] |  \- org.objenesis:objenesis:jar:3.3:test
[INFO] \- org.slf4j:slf4j-reload4j:jar:2.0.19:test
[INFO]    \- ch.qos.reload4j:reload4j:jar:1.2.22:test```
</details>

### Code Examples

```java
// Your code here

Stack Trace

No response

Log File

Log file ...

Affected Development Phase

Getting Started

Impact

No Impact

Timeline

No response

Activity

  1. mofterdinger commented on Oct 5, 2026

    @mofterdinger
    Author

    Hi, this issue was already reported by a colleague for version 5.34.0 of the Cloud SDK: #1270 (comment)
    Looks like it's not solved with 5.35.0

  2. StefanHenke commented on Oct 7, 2026

    @StefanHenke

    The reported issue is caused by the fact that the CsrfTokenInterceptor has been introduced and applied to any created HttpClient. I think this applies to 5.34.0, but also to 5.35.0. Some pieces in regards to the adoption of HttpClient 5 in the OData Client has been reverted in 5.35.0, but the introduction of CsrfTokenInterceptor seems to be still there. This needs to be checked by the CloudSDK team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions