Skip to content

feat: Replace deprecated Doppler recentLogs with Log Cache client - #1237

Closed
ZPascal wants to merge 19 commits into
cloudfoundry:mainfrom
ZPascal:issue-1181
Closed

feat: Replace deprecated Doppler recentLogs with Log Cache client#1237
ZPascal wants to merge 19 commits into
cloudfoundry:mainfrom
ZPascal:issue-1181

Conversation

@ZPascal

@ZPascalZPascal commented Aug 1, 2024

Copy link
Copy Markdown

Feat: Replace deprecated Doppler recentLogs with Log Cache client

Problem

The DopplerClient.recentLogs() endpoint relies on the Loggregator Traffic Controller /apps/{id}/recentlogs HTTP endpoint, which was removed in Loggregator ≥ 107.0 (shipped with CF Deployment ≥ 24.3 and Tanzu Application Service ≥ 4.0). Calls to this endpoint on modern CF foundations fail at runtime, and the related types (LogsRequest, LogMessage from org.cloudfoundry.doppler) caused compilation errors in the integration tests.

Out of the scope

  • LogCache client-based log streaming support

Fixes#1181 & #1230


Changes

cloudfoundry-client

  • Marked DopplerClient.recentLogs() as @Deprecated with a Javadoc @deprecated note pointing to the replacement API and documenting the platform version boundary (Loggregator < 107.0 / CFD < 24.3 / TAS < 4.0).
  • Added LogCacheClient.recentLogs(ReadRequest) as the new, non-deprecated entry point.

cloudfoundry-client-reactor

  • Implemented ReactorLogCacheEndpoints.recentLogs() — delegates to the existing read() method.
  • Wired the implementation in _ReactorLogCacheClient.

cloudfoundry-operations

  • Extended Applications interface with logsRecent(ReadRequest) backed by LogCacheClient.
  • Updated DefaultApplications to accept and hold a Mono<LogCacheClient> alongside the existing Mono<DopplerClient>.
  • The existing logs(LogsRequest) / logs(ApplicationLogsRequest) methods are now marked @Deprecated.
  • Updated _DefaultCloudFoundryOperations to expose logCacheClient as an optional builder field (mirrors the existing dopplerClient pattern; missing client yields a descriptive IllegalStateException on first use).

Integration & unit tests

  • Updated AbstractOperationsTest and DefaultApplicationsTest to supply the new LogCacheClient mock.
  • Renamed / split test cases to clearly distinguish Doppler (logsRecentDoppler, logsDoppler, logsNoAppDoppler) from Log Cache (logsRecentLogCache) paths; added @SuppressWarnings("deprecation") where the old API is still exercised.
  • Added ApplicationsTest.logsRecent() integration test that provisions an application, fetches recent logs via LogCacheClient, and asserts that each entry carries a valid LogType (OUT or ERR).
  • Updated IntegrationTestConfiguration to inject and wire LogCacheClient into DefaultCloudFoundryOperations.

Documentation (README.md)

  • Added a ## Deprecations section (with a [!WARNING] callout) right after ## Versions, covering:
    • the deprecated API surface (DopplerClient.recentLogs(), RecentLogsRequest, LogMessage),
    • platform version boundaries,
    • a before/after migration code example.
  • Added an inline [!NOTE] callout in the ### CloudFoundryClient, DopplerClient, UaaClient Builders section cross-linking to the new deprecation notice.

Migration guide

// Before (deprecated — only works on CFD < 24.3 / TAS < 4.0)dopplerClient.recentLogs(RecentLogsRequest.builder()
.applicationId(appId)
.build());
// AfterlogCacheClient.recentLogs(ReadRequest.builder()
.sourceId(appId)
.build());
// Or via CloudFoundryOperationscloudFoundryOperations.applications()
.logsRecent(ReadRequest.builder()
.sourceId(appId)
.build());

Checklist

  • Existing unit tests updated and passing
  • New unit test added (logsRecentLogCache)
  • New integration test added (logsRecent)
  • Deprecated API annotated with @Deprecated + Javadoc @deprecated
  • README.md updated with deprecation notice and migration guide
  • Integration tests verified against a live CF foundation (requires CF Deployment ≥ 24.3 or TAS ≥ 4.0 for the Log Cache path)

Integrationtest results

Logs of the Integration test run

The following command was used for the integration test execution:

./mvnw -Pintegration-test clean test -Dgpg.skip=true -f integration-test/pom.xml -Dtest="org.cloudfoundry.operations.ApplicationsTest" -Dsurefire.reportFormat=plain

Integration Tests

[INFO] Scanning for projects...
[INFO] [INFO] -----------------< org.cloudfoundry:integration-test >------------------
[INFO] Building Integration Test 6.0.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] [INFO] --- clean:3.2.0:clean (default-clean) @ integration-test ---
[INFO] Deleting /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/target
[INFO] [INFO] --- resources:3.3.1:resources (default-resources) @ integration-test ---
[INFO] skip non existing resourceDirectory /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/main/resources
[INFO] [INFO] --- compiler:3.14.0:compile (default-compile) @ integration-test ---
[INFO] No sources to compile
[INFO] [INFO] --- resources:3.3.1:testResources (default-testResources) @ integration-test ---
[INFO] Copying 15 resources from src/test/resources to target/test-classes
[INFO] [INFO] --- compiler:3.14.0:testCompile (default-testCompile) @ integration-test ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 105 source files with javac [forked debug parameters target 21] to target/test-classes
[WARNING] [path] bad path element "/Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/target/classes": no such file or directory
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[22,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[24,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[26,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[28,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[30,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[32,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[34,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[36,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[38,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[40,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[42,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[44,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[46,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[48,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[50,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[52,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[54,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[56,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[58,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[60,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[62,23] [deprecation] forIntegers(int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersionConditionalRule.java:[62,39] [deprecation] lessThan(Version) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersionConditionalRule.java:[67,37] [deprecation] lessThanOrEqualTo(Version) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersionConditionalRule.java:[77,37] [deprecation] greaterThanOrEqualTo(Version) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersionConditionalRule.java:[82,39] [deprecation] greaterThan(Version) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/IntegrationTestConfiguration.java:[471,40] [deprecation] valueOf(String) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/client/v2/ApplicationsTest.java:[1514,34] [deprecation] getNextTarEntry() in TarArchiveInputStream has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/client/v2/InfoTest.java:[45,54] [deprecation] valueOf(String) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/client/v2/InfoTest.java:[46,52] [deprecation] valueOf(String) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/ApplicationsTest.java:[2143,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java:[110,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java:[126,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java:[283,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/RoutesTest.java:[867,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[INFO] [INFO] --- surefire:3.5.3:test (default-test) @ integration-test ---
[INFO] Tests will run in random order. To reproduce ordering use flag -Dsurefire.runOrder.random.seed=225068888324708
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO] [INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.cloudfoundry.operations.ApplicationsTest
10:39:32.209 main io.netty.resolver.dns.DnsServerAddressStreamProviders Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
10:39:34.091 cloudfoundry-client-nio-2 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
10:39:34.101 main cloudfoundry-client.test Performing clean slate cleanup. Should happen once per integration test run.
10:39:54.364 cloudfoundry-client-nio-6 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
10:55:54.314 cloudfoundry-client-nio-7 cloudfoundry-client.test Unable to delete space test-space-6v95p
org.cloudfoundry.client.v2.ClientV2Exception: UnknownError(10001): An unknown error occurred.
at org.cloudfoundry.util.JobUtils.getError(JobUtils.java:123)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132)
at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113)
at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)
at reactor.core.publisher.FluxRepeatWhen$RepeatWhenMainSubscriber.onNext(FluxRepeatWhen.java:142)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118)
at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305)
at reactor.core.publisher.Operators$MonoInnerProducerBase.complete(Operators.java:2842)
at reactor.core.publisher.MonoSingle$SingleSubscriber.onComplete(MonoSingle.java:180)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:898)
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:1001)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxHandle$HandleSubscriber.onComplete(FluxHandle.java:223)
at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:128)
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onComplete(FluxHandleFuseable.java:239)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onComplete(FluxContextWrite.java:126)
at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2098)
at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:128)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:415)
at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:446)
at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:500)
at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:780)
at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1475)
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1338)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1387)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
10:55:54.318 main org.springframework.beans.factory.support.DisposableBeanAdapter Invocation of destroy method failed on bean with name 'cloudFoundryCleaner': org.cloudfoundry.client.v2.ClientV2Exception: UnknownError(10001): An unknown error occurred.
[ERROR] Tests run: 59, Failures: 1, Errors: 0, Skipped: 5, Time elapsed: 982.6 s <<< FAILURE! -- in org.cloudfoundry.operations.ApplicationsTest
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getManifest -- Time elapsed: 5.725 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.startStarted -- Time elapsed: 12.53 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.sshEnabled -- Time elapsed: 24.72 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.unsetEnvironmentVariableComplete -- Time elapsed: 17.36 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.disableSsh -- Time elapsed: 12.30 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.restartNotStarted -- Time elapsed: 10.17 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushRouteAndRoutePath -- Time elapsed: 14.15 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushDomainHostPathRoute -- Time elapsed: 15.44 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushMultipleRoutes -- Time elapsed: 13.69 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushTcpRoute skipped
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getTcp skipped
[ERROR] org.cloudfoundry.operations.ApplicationsTest.listTasks -- Time elapsed: 13.46 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.startNotStarted -- Time elapsed: 16.12 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.terminateTask -- Time elapsed: 20.00 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushPrivateDomain -- Time elapsed: 24.10 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.rename -- Time elapsed: 11.59 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.copySource -- Time elapsed: 29.03 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushManifestV3WithMetadata -- Time elapsed: 22.71 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getStopped -- Time elapsed: 4.365 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushManifestV3MultipleApplications -- Time elapsed: 26.77 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getMultipleBuildpacks -- Time elapsed: 4.525 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.enableSsh -- Time elapsed: 12.34 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getMultipleBuildpacksManifest -- Time elapsed: 2.342 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushExisting -- Time elapsed: 29.01 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushNew -- Time elapsed: 15.97 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushUpdateTcpRoute skipped
[ERROR] org.cloudfoundry.operations.ApplicationsTest.unsetEnvironmentVariablePartial -- Time elapsed: 20.33 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.setHealthCheck -- Time elapsed: 24.58 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.get -- Time elapsed: 24.42 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.list -- Time elapsed: 11.29 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.logs skipped
[ERROR] org.cloudfoundry.operations.ApplicationsTest.stop -- Time elapsed: 24.69 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushManifestMultipleBuildpacks -- Time elapsed: 8.602 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.scale -- Time elapsed: 16.66 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushUpdateRoute -- Time elapsed: 13.73 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getManifestForTcpRoute skipped
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushDomainNotFound -- Time elapsed: 0.364 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getEvents -- Time elapsed: 2.207 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushWithHost -- Time elapsed: 24.92 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.restartStarted -- Time elapsed: 18.99 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.setReadinessHealthCheck -- Time elapsed: 16.99 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushNewDocker -- Time elapsed: 11.89 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushDirectory -- Time elapsed: 11.95 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.restage -- Time elapsed: 25.18 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.setEnvironmentVariable -- Time elapsed: 16.65 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.restartInstance -- Time elapsed: 19.55 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.deleteApplicationWithServiceBindings -- Time elapsed: 20.70 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.deleteApplicationAndRoutes -- Time elapsed: 20.33 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.runTask -- Time elapsed: 24.43 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.deleteApplication -- Time elapsed: 12.26 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushBindServices -- Time elapsed: 15.81 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getHealthCheck -- Time elapsed: 4.164 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushMultipleBuildpacks -- Time elapsed: 8.430 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.logCacheLogs -- Time elapsed: 16.66 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushNoHostName -- Time elapsed: 26.56 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushManifestV3 -- Time elapsed: 26.54 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushNoRoute -- Time elapsed: 12.75 s <<< FAILURE!
java.lang.AssertionError: expectation "expectComplete" failed (expected: onComplete(); actual: onError(io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443))
at reactor.test.MessageFormatter.assertionError(MessageFormatter.java:115)
at reactor.test.MessageFormatter.failPrefix(MessageFormatter.java:104)
at reactor.test.MessageFormatter.fail(MessageFormatter.java:73)
at reactor.test.MessageFormatter.failOptional(MessageFormatter.java:88)
at reactor.test.DefaultStepVerifierBuilder.lambda$expectComplete$4(DefaultStepVerifierBuilder.java:344)
at reactor.test.DefaultStepVerifierBuilder$SignalEvent.test(DefaultStepVerifierBuilder.java:2289)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onSignal(DefaultStepVerifierBuilder.java:1529)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onExpectation(DefaultStepVerifierBuilder.java:1477)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onError(DefaultStepVerifierBuilder.java:1129)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onError(FluxFilterFuseable.java:162)
at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351)
at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724)
at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263)
at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onError(FluxConcatArray.java:207)
at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onError(MonoIgnoreElements.java:84)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:279)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onError(MonoIgnoreElements.java:84)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onError(MonoFlatMapMany.java:255)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerError(FluxFlatMap.java:867)
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onError(FluxFlatMap.java:994)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerError(FluxFlatMap.java:867)
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onError(FluxFlatMap.java:994)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:279)
at reactor.core.publisher.MonoWhen$WhenInner.onError(MonoWhen.java:423)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180)
at reactor.core.publisher.FluxFilter$FilterSubscriber.onError(FluxFilter.java:157)
at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRepeatWhen$RepeatWhenMainSubscriber.onError(FluxRepeatWhen.java:151)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onError(FluxFilterFuseable.java:162)
at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onError(FluxMapFuseable.java:340)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.MonoSingle$SingleSubscriber.onError(MonoSingle.java:150)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:228)
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:278)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:211)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476)
at reactor.core.publisher.SinkManyEmitterProcessor$EmitterInner.drainParent(SinkManyEmitterProcessor.java:620)
at reactor.core.publisher.FluxPublish$PubSubInner.request(FluxPublish.java:874)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:336)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.Operators$DeferredSubscription.request(Operators.java:1743)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:195)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:228)
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:278)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:211)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476)
at reactor.core.publisher.SinkManyEmitterProcessor$EmitterInner.drainParent(SinkManyEmitterProcessor.java:620)
at reactor.core.publisher.FluxPublish$PubSubInner.request(FluxPublish.java:874)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:336)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.Operators$DeferredSubscription.request(Operators.java:1743)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:195)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$ClientTransportSubscriber.onError(HttpClientConnect.java:311)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onError(DefaultPooledConnectionProvider.java:172)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.netty.internal.shaded.reactor.pool.AbstractPool$Borrower.fail(AbstractPool.java:488)
at reactor.netty.internal.shaded.reactor.pool.SimpleDequePool.lambda$drainLoop$9(SimpleDequePool.java:433)
at reactor.core.publisher.FluxDoOnEach$DoOnEachSubscriber.onError(FluxDoOnEach.java:186)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnectionAllocator$PooledConnectionInitializer.onError(DefaultPooledConnectionProvider.java:583)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
at reactor.core.publisher.Operators.error(Operators.java:198)
at reactor.core.publisher.MonoError.subscribe(MonoError.java:53)
at reactor.core.publisher.Mono.subscribe(Mono.java:4512)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
at reactor.netty.transport.TransportConnector$MonoChannelPromise.tryFailure(TransportConnector.java:576)
at reactor.netty.transport.TransportConnector$MonoChannelPromise.setFailure(TransportConnector.java:522)
at reactor.netty.transport.TransportConnector.lambda$doConnect$7(TransportConnector.java:261)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:322)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:338)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Suppressed: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: Assembly trace from producer [reactor.core.publisher.MonoFlatMap] :
reactor.core.publisher.Mono.checkpoint(Mono.java:2206)
org.cloudfoundry.reactor.client.v2.jobs.ReactorJobs.get(ReactorJobs.java:55)
Error has been observed at the following site(s):
*__checkpoint() ⇢ at org.cloudfoundry.reactor.client.v2.jobs.ReactorJobs.get(ReactorJobs.java:55)
*__checkpoint() ⇢ at org.cloudfoundry.operations.applications.DefaultApplications.pushManifest(DefaultApplications.java:685)
|_ checkpoint() ⇢ at org.cloudfoundry.operations.applications.DefaultApplications.push(DefaultApplications.java:631)
Original Stack Trace:
Caused by: java.net.ConnectException: Operation timed out
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:694)
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:973)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:335)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
[ERROR] org.cloudfoundry.operations.ApplicationsTest.logsRecent -- Time elapsed: 20.07 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushRoutePath -- Time elapsed: 26.43 s
[INFO] Running org.cloudfoundry.operations.ApplicationsTest
10:55:55.104 cloudfoundry-client-nio-2 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
10:56:09.269 cloudfoundry-client-nio-12 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
10:57:01.332 main org.springframework.test.context.TestContextManager Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener] to prepare test instance [org.cloudfoundry.operations.ApplicationsTest@697c0ae6]
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.cloudfoundry.operations.ApplicationsTest': Unsatisfied dependency expressed through field 'serviceBrokerId': Error creating bean with name 'serviceBrokerId' defined in org.cloudfoundry.IntegrationTestConfiguration: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:787)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:767)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:508)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1418)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:397)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:142)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:97)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260)
at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278)
at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:198)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
at org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:56)
at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:164)
at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceBrokerId' defined in org.cloudfoundry.IntegrationTestConfiguration: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1773)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:784)
... 76 common frames omitted
Caused by: reactor.core.Exceptions$ReactiveException: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
at reactor.core.Exceptions.propagate(Exceptions.java:408)
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:101)
at reactor.core.publisher.Mono.block(Mono.java:1728)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1877)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1830)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1769)
... 86 common frames omitted
Suppressed: java.lang.Exception: #block terminated with an error
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:103)
... 92 common frames omitted
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Assembly trace from producer [reactor.core.publisher.MonoFlatMap] :
reactor.core.publisher.Mono.checkpoint(Mono.java:2206)
org.cloudfoundry.reactor.client.v2.servicebrokers.ReactorServiceBrokers.create(ReactorServiceBrokers.java:63)
Error has been observed at the following site(s):
*__checkpoint() ⇢ at org.cloudfoundry.reactor.client.v2.servicebrokers.ReactorServiceBrokers.create(ReactorServiceBrokers.java:63)
Original Stack Trace:
Caused by: java.net.ConnectException: Operation timed out
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:694)
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:973)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:335)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
10:57:11.087 cloudfoundry-client-nio-5 cloudfoundry-client.test Unable to delete space test-space-nrpsf
org.cloudfoundry.client.v2.ClientV2Exception: UnknownError(10001): An unknown error occurred.
at org.cloudfoundry.util.JobUtils.getError(JobUtils.java:123)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132)
at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113)
at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)
at reactor.core.publisher.FluxRepeatWhen$RepeatWhenMainSubscriber.onNext(FluxRepeatWhen.java:142)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118)
at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305)
at reactor.core.publisher.Operators$MonoInnerProducerBase.complete(Operators.java:2842)
at reactor.core.publisher.MonoSingle$SingleSubscriber.onComplete(MonoSingle.java:180)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:898)
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:1001)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxHandle$HandleSubscriber.onComplete(FluxHandle.java:223)
at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:128)
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onComplete(FluxHandleFuseable.java:239)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onComplete(FluxContextWrite.java:126)
at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2098)
at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:128)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:415)
at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:446)
at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:500)
at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:780)
at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1475)
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1338)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1387)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
10:57:11.089 main org.springframework.beans.factory.support.DisposableBeanAdapter Invocation of destroy method failed on bean with name 'cloudFoundryCleaner': org.cloudfoundry.client.v2.ClientV2Exception: UnknownError(10001): An unknown error occurred.
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 76.75 s <<< FAILURE! -- in org.cloudfoundry.operations.ApplicationsTest
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushNoRoute -- Time elapsed: 0 s <<< ERROR!
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.cloudfoundry.operations.ApplicationsTest': Unsatisfied dependency expressed through field 'serviceBrokerId': Error creating bean with name 'serviceBrokerId' defined in org.cloudfoundry.IntegrationTestConfiguration: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:787)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:767)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:508)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1418)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:397)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:142)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:97)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260)
at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceBrokerId' defined in org.cloudfoundry.IntegrationTestConfiguration: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1773)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:784)
... 21 more
Caused by: reactor.core.Exceptions$ReactiveException: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
at reactor.core.Exceptions.propagate(Exceptions.java:408)
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:101)
at reactor.core.publisher.Mono.block(Mono.java:1728)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1877)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1830)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1769)
... 31 more
Suppressed: java.lang.Exception: #block terminated with an error
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:103)
... 36 more
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: Assembly trace from producer [reactor.core.publisher.MonoFlatMap] :
reactor.core.publisher.Mono.checkpoint(Mono.java:2206)
org.cloudfoundry.reactor.client.v2.servicebrokers.ReactorServiceBrokers.create(ReactorServiceBrokers.java:63)
Error has been observed at the following site(s):
*__checkpoint() ⇢ at org.cloudfoundry.reactor.client.v2.servicebrokers.ReactorServiceBrokers.create(ReactorServiceBrokers.java:63)
Original Stack Trace:
Caused by: java.net.ConnectException: Operation timed out
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:694)
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:973)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:335)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
[INFO] Running org.cloudfoundry.operations.ApplicationsTest
10:57:11.507 cloudfoundry-client-nio-2 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
10:57:25.070 cloudfoundry-client-nio-12 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 73.93 s -- in org.cloudfoundry.operations.ApplicationsTest
[INFO] org.cloudfoundry.operations.ApplicationsTest.pushNoRoute -- Time elapsed: 8.510 s
[INFO] [INFO] Results:
[INFO] [WARNING] Flakes: [WARNING] org.cloudfoundry.operations.ApplicationsTest.pushNoRoute
[ERROR] Run 1: ApplicationsTest.pushNoRoute expectation "expectComplete" failed (expected: onComplete(); actual: onError(io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443))
[ERROR] Run 2: ApplicationsTest.pushNoRoute » UnsatisfiedDependency Error creating bean with name 'org.cloudfoundry.operations.ApplicationsTest': Unsatisfied dependency expressed through field 'serviceBrokerId': Error creating bean with name 'serviceBrokerId' defined in org.cloudfoundry.IntegrationTestConfiguration: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
[INFO] Run 3: PASS
[INFO] [INFO] [WARNING] Tests run: 59, Failures: 0, Errors: 0, Skipped: 5, Flakes: 1
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18:58 min
[INFO] Finished at: 2026-03-03T10:58:25+01:00
[INFO] ------------------------------------------------------------------------

Log-Cache Integration Tests:

[INFO] Scanning for projects...
[INFO] [INFO] -----------------< org.cloudfoundry:integration-test >------------------
[INFO] Building Integration Test 6.0.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] [INFO] --- clean:3.2.0:clean (default-clean) @ integration-test ---
[INFO] Deleting /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/target
[INFO] [INFO] --- resources:3.3.1:resources (default-resources) @ integration-test ---
[INFO] skip non existing resourceDirectory /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/main/resources
[INFO] [INFO] --- compiler:3.14.0:compile (default-compile) @ integration-test ---
[INFO] No sources to compile
[INFO] [INFO] --- resources:3.3.1:testResources (default-testResources) @ integration-test ---
[INFO] Copying 15 resources from src/test/resources to target/test-classes
[INFO] [INFO] --- compiler:3.14.0:testCompile (default-testCompile) @ integration-test ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 105 source files with javac [forked debug parameters target 21] to target/test-classes
[WARNING] [path] bad path element "/Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/target/classes": no such file or directory
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[22,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[24,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[26,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[28,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[30,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[32,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[34,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[36,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[38,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[40,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[42,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[44,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[46,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[48,19] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[50,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[52,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[54,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[56,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[58,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[60,20] [deprecation] forIntegers(int,int,int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersion.java:[62,23] [deprecation] forIntegers(int) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersionConditionalRule.java:[62,39] [deprecation] lessThan(Version) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersionConditionalRule.java:[67,37] [deprecation] lessThanOrEqualTo(Version) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersionConditionalRule.java:[77,37] [deprecation] greaterThanOrEqualTo(Version) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/CloudFoundryVersionConditionalRule.java:[82,39] [deprecation] greaterThan(Version) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/IntegrationTestConfiguration.java:[471,40] [deprecation] valueOf(String) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/client/v2/ApplicationsTest.java:[1514,34] [deprecation] getNextTarEntry() in TarArchiveInputStream has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/client/v2/InfoTest.java:[45,54] [deprecation] valueOf(String) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/client/v2/InfoTest.java:[46,52] [deprecation] valueOf(String) in Version has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/ApplicationsTest.java:[2143,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java:[110,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java:[126,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java:[283,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[WARNING] /Users/I762976/Workspace/cloudfoundry/cf-java-client/integration-test/src/test/java/org/cloudfoundry/operations/RoutesTest.java:[867,16] [deprecation] createShared(CreateSharedDomainRequest) in Domains has been deprecated
[INFO] [INFO] --- surefire:3.5.3:test (default-test) @ integration-test ---
[INFO] Tests will run in random order. To reproduce ordering use flag -Dsurefire.runOrder.random.seed=233276768778416
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO] [INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.cloudfoundry.operations.ApplicationsTest
13:54:39.452 main io.netty.resolver.dns.DnsServerAddressStreamProviders Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
13:54:41.382 cloudfoundry-client-nio-2 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
13:54:41.393 main cloudfoundry-client.test Performing clean slate cleanup. Should happen once per integration test run.
13:55:00.368 cloudfoundry-client-nio-1 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
14:11:28.316 cloudfoundry-client-nio-6 cloudfoundry-client.test Unable to delete space test-space-vtrpv
org.cloudfoundry.client.v2.ClientV2Exception: UnknownError(10001): An unknown error occurred.
at org.cloudfoundry.util.JobUtils.getError(JobUtils.java:123)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132)
at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113)
at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)
at reactor.core.publisher.FluxRepeatWhen$RepeatWhenMainSubscriber.onNext(FluxRepeatWhen.java:142)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118)
at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305)
at reactor.core.publisher.Operators$MonoInnerProducerBase.complete(Operators.java:2842)
at reactor.core.publisher.MonoSingle$SingleSubscriber.onComplete(MonoSingle.java:180)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:898)
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:1001)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxHandle$HandleSubscriber.onComplete(FluxHandle.java:223)
at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:128)
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onComplete(FluxHandleFuseable.java:239)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onComplete(FluxContextWrite.java:126)
at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2098)
at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:128)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:415)
at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:446)
at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:500)
at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:780)
at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1475)
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1338)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1387)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
14:11:28.321 main org.springframework.beans.factory.support.DisposableBeanAdapter Invocation of destroy method failed on bean with name 'cloudFoundryCleaner': org.cloudfoundry.client.v2.ClientV2Exception: UnknownError(10001): An unknown error occurred.
[ERROR] Tests run: 59, Failures: 3, Errors: 0, Skipped: 4, Time elapsed: 1009 s <<< FAILURE! -- in org.cloudfoundry.operations.ApplicationsTest
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getManifest -- Time elapsed: 5.715 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.startStarted -- Time elapsed: 12.72 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.sshEnabled -- Time elapsed: 25.16 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.unsetEnvironmentVariableComplete -- Time elapsed: 25.74 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.disableSsh -- Time elapsed: 20.03 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.restartNotStarted -- Time elapsed: 24.68 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushRouteAndRoutePath -- Time elapsed: 25.48 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushDomainHostPathRoute -- Time elapsed: 24.06 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushMultipleRoutes -- Time elapsed: 13.90 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushTcpRoute skipped
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getTcp skipped
[ERROR] org.cloudfoundry.operations.ApplicationsTest.listTasks -- Time elapsed: 12.49 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.startNotStarted -- Time elapsed: 10.12 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.terminateTask -- Time elapsed: 10.73 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushPrivateDomain -- Time elapsed: 17.41 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.rename -- Time elapsed: 12.65 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.copySource -- Time elapsed: 26.41 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushManifestV3WithMetadata -- Time elapsed: 24.83 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getStopped -- Time elapsed: 2.397 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushManifestV3MultipleApplications -- Time elapsed: 26.84 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getMultipleBuildpacks -- Time elapsed: 4.480 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.enableSsh -- Time elapsed: 12.44 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getMultipleBuildpacksManifest -- Time elapsed: 8.477 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushExisting -- Time elapsed: 36.15 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushNew -- Time elapsed: 9.921 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushUpdateTcpRoute skipped
[ERROR] org.cloudfoundry.operations.ApplicationsTest.unsetEnvironmentVariablePartial -- Time elapsed: 11.91 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.setHealthCheck -- Time elapsed: 24.70 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.get -- Time elapsed: 15.49 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.list -- Time elapsed: 25.81 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.logs -- Time elapsed: 24.77 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.stop -- Time elapsed: 24.93 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushManifestMultipleBuildpacks -- Time elapsed: 9.764 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.scale -- Time elapsed: 21.53 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushUpdateRoute -- Time elapsed: 11.70 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getManifestForTcpRoute skipped
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushDomainNotFound -- Time elapsed: 0.377 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getEvents -- Time elapsed: 4.260 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushWithHost -- Time elapsed: 15.25 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.restartStarted -- Time elapsed: 11.93 s <<< FAILURE!
java.lang.AssertionError: expectation "expectComplete" failed (expected: onComplete(); actual: onError(io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443))
at reactor.test.MessageFormatter.assertionError(MessageFormatter.java:115)
at reactor.test.MessageFormatter.failPrefix(MessageFormatter.java:104)
at reactor.test.MessageFormatter.fail(MessageFormatter.java:73)
at reactor.test.MessageFormatter.failOptional(MessageFormatter.java:88)
at reactor.test.DefaultStepVerifierBuilder.lambda$expectComplete$4(DefaultStepVerifierBuilder.java:344)
at reactor.test.DefaultStepVerifierBuilder$SignalEvent.test(DefaultStepVerifierBuilder.java:2289)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onSignal(DefaultStepVerifierBuilder.java:1529)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onExpectation(DefaultStepVerifierBuilder.java:1477)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onError(DefaultStepVerifierBuilder.java:1129)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:279)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onError(MonoIgnoreElements.java:84)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onError(MonoFlatMapMany.java:255)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerError(FluxFlatMap.java:867)
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onError(FluxFlatMap.java:994)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerError(FluxFlatMap.java:867)
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onError(FluxFlatMap.java:994)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onError(FluxFilterFuseable.java:162)
at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onError(FluxMapFuseable.java:340)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.MonoSingle$SingleSubscriber.onError(MonoSingle.java:150)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:228)
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:278)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:211)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476)
at reactor.core.publisher.SinkManyEmitterProcessor$EmitterInner.drainParent(SinkManyEmitterProcessor.java:620)
at reactor.core.publisher.FluxPublish$PubSubInner.request(FluxPublish.java:874)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:336)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.Operators$DeferredSubscription.request(Operators.java:1743)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:195)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:228)
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:278)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:211)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476)
at reactor.core.publisher.SinkManyEmitterProcessor$EmitterInner.drainParent(SinkManyEmitterProcessor.java:620)
at reactor.core.publisher.FluxPublish$PubSubInner.request(FluxPublish.java:874)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:336)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.Operators$DeferredSubscription.request(Operators.java:1743)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:195)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$ClientTransportSubscriber.onError(HttpClientConnect.java:311)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onError(DefaultPooledConnectionProvider.java:172)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.netty.internal.shaded.reactor.pool.AbstractPool$Borrower.fail(AbstractPool.java:488)
at reactor.netty.internal.shaded.reactor.pool.SimpleDequePool.lambda$drainLoop$9(SimpleDequePool.java:433)
at reactor.core.publisher.FluxDoOnEach$DoOnEachSubscriber.onError(FluxDoOnEach.java:186)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnectionAllocator$PooledConnectionInitializer.onError(DefaultPooledConnectionProvider.java:583)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
at reactor.core.publisher.Operators.error(Operators.java:198)
at reactor.core.publisher.MonoError.subscribe(MonoError.java:53)
at reactor.core.publisher.Mono.subscribe(Mono.java:4512)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
at reactor.netty.transport.TransportConnector$MonoChannelPromise.tryFailure(TransportConnector.java:576)
at reactor.netty.transport.TransportConnector$MonoChannelPromise.setFailure(TransportConnector.java:522)
at reactor.netty.transport.TransportConnector.lambda$doConnect$7(TransportConnector.java:261)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:322)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:338)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Suppressed: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: Assembly trace from producer [reactor.core.publisher.MonoFlatMap] :
reactor.core.publisher.Mono.checkpoint(Mono.java:2206)
org.cloudfoundry.reactor.client.v2.applications.ReactorApplicationsV2.update(ReactorApplicationsV2.java:307)
Error has been observed at the following site(s):
*__checkpoint() ⇢ at org.cloudfoundry.reactor.client.v2.applications.ReactorApplicationsV2.update(ReactorApplicationsV2.java:307)
*__checkpoint() ⇢ at org.cloudfoundry.operations.applications.DefaultApplications.pushManifest(DefaultApplications.java:685)
|_ checkpoint() ⇢ at org.cloudfoundry.operations.applications.DefaultApplications.push(DefaultApplications.java:631)
Original Stack Trace:
Caused by: java.net.ConnectException: Operation timed out
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:694)
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:973)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:335)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
[ERROR] org.cloudfoundry.operations.ApplicationsTest.setReadinessHealthCheck -- Time elapsed: 10.30 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushNewDocker -- Time elapsed: 11.72 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushDirectory -- Time elapsed: 19.35 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.restage -- Time elapsed: 31.95 s <<< FAILURE!
java.lang.AssertionError: expectation "expectComplete" failed (expected: onComplete(); actual: onError(io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443))
at reactor.test.MessageFormatter.assertionError(MessageFormatter.java:115)
at reactor.test.MessageFormatter.failPrefix(MessageFormatter.java:104)
at reactor.test.MessageFormatter.fail(MessageFormatter.java:73)
at reactor.test.MessageFormatter.failOptional(MessageFormatter.java:88)
at reactor.test.DefaultStepVerifierBuilder.lambda$expectComplete$4(DefaultStepVerifierBuilder.java:344)
at reactor.test.DefaultStepVerifierBuilder$SignalEvent.test(DefaultStepVerifierBuilder.java:2289)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onSignal(DefaultStepVerifierBuilder.java:1529)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onExpectation(DefaultStepVerifierBuilder.java:1477)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onError(DefaultStepVerifierBuilder.java:1129)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:279)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:279)
at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onError(MonoIgnoreElements.java:84)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
at reactor.core.publisher.Operators.error(Operators.java:198)
at reactor.core.publisher.MonoError.subscribe(MonoError.java:53)
at reactor.core.publisher.Mono.subscribe(Mono.java:4512)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onError(Operators.java:2236)
at reactor.core.publisher.FluxFilter$FilterSubscriber.onError(FluxFilter.java:157)
at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRepeatWhen$RepeatWhenMainSubscriber.onError(FluxRepeatWhen.java:151)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onError(FluxFilterFuseable.java:162)
at reactor.core.publisher.MonoReduceSeed$ReduceSeedSubscriber.onError(MonoReduceSeed.java:153)
at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.MonoSingle$SingleSubscriber.onError(MonoSingle.java:150)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:228)
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:278)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:211)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476)
at reactor.core.publisher.SinkManyEmitterProcessor$EmitterInner.drainParent(SinkManyEmitterProcessor.java:620)
at reactor.core.publisher.FluxPublish$PubSubInner.request(FluxPublish.java:874)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:336)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.Operators$DeferredSubscription.request(Operators.java:1743)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:195)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:228)
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:278)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:211)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476)
at reactor.core.publisher.SinkManyEmitterProcessor$EmitterInner.drainParent(SinkManyEmitterProcessor.java:620)
at reactor.core.publisher.FluxPublish$PubSubInner.request(FluxPublish.java:874)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:336)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.Operators$DeferredSubscription.request(Operators.java:1743)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:195)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$ClientTransportSubscriber.onError(HttpClientConnect.java:311)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onError(DefaultPooledConnectionProvider.java:172)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.netty.internal.shaded.reactor.pool.AbstractPool$Borrower.fail(AbstractPool.java:488)
at reactor.netty.internal.shaded.reactor.pool.SimpleDequePool.lambda$drainLoop$9(SimpleDequePool.java:433)
at reactor.core.publisher.FluxDoOnEach$DoOnEachSubscriber.onError(FluxDoOnEach.java:186)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnectionAllocator$PooledConnectionInitializer.onError(DefaultPooledConnectionProvider.java:583)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
at reactor.core.publisher.Operators.error(Operators.java:198)
at reactor.core.publisher.MonoError.subscribe(MonoError.java:53)
at reactor.core.publisher.Mono.subscribe(Mono.java:4512)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
at reactor.netty.transport.TransportConnector$MonoChannelPromise.tryFailure(TransportConnector.java:576)
at reactor.netty.transport.TransportConnector$MonoChannelPromise.setFailure(TransportConnector.java:522)
at reactor.netty.transport.TransportConnector.lambda$doConnect$7(TransportConnector.java:261)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:322)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:338)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Suppressed: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: Assembly trace from producer [reactor.core.publisher.MonoFlatMap] :
reactor.core.publisher.Mono.checkpoint(Mono.java:2206)
org.cloudfoundry.reactor.client.v2.applications.ReactorApplicationsV2.instances(ReactorApplicationsV2.java:199)
Error has been observed at the following site(s):
*__checkpoint() ⇢ at org.cloudfoundry.reactor.client.v2.applications.ReactorApplicationsV2.instances(ReactorApplicationsV2.java:199)
*__checkpoint() ⇢ at org.cloudfoundry.operations.applications.DefaultApplications.restage(DefaultApplications.java:792)
Original Stack Trace:
Caused by: java.net.ConnectException: Operation timed out
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:694)
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:973)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:335)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
[ERROR] org.cloudfoundry.operations.ApplicationsTest.setEnvironmentVariable -- Time elapsed: 12.78 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.restartInstance -- Time elapsed: 10.15 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.deleteApplicationWithServiceBindings -- Time elapsed: 10.89 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.deleteApplicationAndRoutes -- Time elapsed: 20.82 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.runTask -- Time elapsed: 24.64 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.deleteApplication -- Time elapsed: 22.14 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushBindServices -- Time elapsed: 16.42 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.getHealthCheck -- Time elapsed: 4.330 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushMultipleBuildpacks -- Time elapsed: 4.420 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.logCacheLogs -- Time elapsed: 12.71 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushNoHostName -- Time elapsed: 15.34 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushManifestV3 -- Time elapsed: 24.58 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushNoRoute -- Time elapsed: 12.49 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.logsRecent -- Time elapsed: 24.93 s
[ERROR] org.cloudfoundry.operations.ApplicationsTest.pushRoutePath -- Time elapsed: 32.28 s <<< FAILURE!
java.lang.AssertionError: expectation "expectComplete" failed (expected: onComplete(); actual: onError(io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443))
at reactor.test.MessageFormatter.assertionError(MessageFormatter.java:115)
at reactor.test.MessageFormatter.failPrefix(MessageFormatter.java:104)
at reactor.test.MessageFormatter.fail(MessageFormatter.java:73)
at reactor.test.MessageFormatter.failOptional(MessageFormatter.java:88)
at reactor.test.DefaultStepVerifierBuilder.lambda$expectComplete$4(DefaultStepVerifierBuilder.java:344)
at reactor.test.DefaultStepVerifierBuilder$SignalEvent.test(DefaultStepVerifierBuilder.java:2289)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onSignal(DefaultStepVerifierBuilder.java:1529)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onExpectation(DefaultStepVerifierBuilder.java:1477)
at reactor.test.DefaultStepVerifierBuilder$DefaultVerifySubscriber.onError(DefaultStepVerifierBuilder.java:1129)
at reactor.core.publisher.FluxFilter$FilterSubscriber.onError(FluxFilter.java:157)
at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onError(FluxConcatArray.java:207)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerError(FluxFlatMap.java:867)
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onError(FluxFlatMap.java:994)
at reactor.core.publisher.MonoZip$ZipInner.onError(MonoZip.java:516)
at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108)
at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204)
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.MonoSingle$SingleSubscriber.onError(MonoSingle.java:150)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onError(FluxFlatMap.java:455)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:228)
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:278)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:211)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476)
at reactor.core.publisher.SinkManyEmitterProcessor$EmitterInner.drainParent(SinkManyEmitterProcessor.java:620)
at reactor.core.publisher.FluxPublish$PubSubInner.request(FluxPublish.java:874)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:336)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.Operators$DeferredSubscription.request(Operators.java:1743)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:195)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:228)
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:278)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:211)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476)
at reactor.core.publisher.SinkManyEmitterProcessor$EmitterInner.drainParent(SinkManyEmitterProcessor.java:620)
at reactor.core.publisher.FluxPublish$PubSubInner.request(FluxPublish.java:874)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:336)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
at reactor.core.publisher.Operators$DeferredSubscription.request(Operators.java:1743)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:195)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$ClientTransportSubscriber.onError(HttpClientConnect.java:311)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onError(DefaultPooledConnectionProvider.java:172)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.netty.internal.shaded.reactor.pool.AbstractPool$Borrower.fail(AbstractPool.java:488)
at reactor.netty.internal.shaded.reactor.pool.SimpleDequePool.lambda$drainLoop$9(SimpleDequePool.java:433)
at reactor.core.publisher.FluxDoOnEach$DoOnEachSubscriber.onError(FluxDoOnEach.java:186)
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:205)
at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnectionAllocator$PooledConnectionInitializer.onError(DefaultPooledConnectionProvider.java:583)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
at reactor.core.publisher.Operators.error(Operators.java:198)
at reactor.core.publisher.MonoError.subscribe(MonoError.java:53)
at reactor.core.publisher.Mono.subscribe(Mono.java:4512)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
at reactor.netty.transport.TransportConnector$MonoChannelPromise.tryFailure(TransportConnector.java:576)
at reactor.netty.transport.TransportConnector$MonoChannelPromise.setFailure(TransportConnector.java:522)
at reactor.netty.transport.TransportConnector.lambda$doConnect$7(TransportConnector.java:261)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:322)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:338)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Suppressed: io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443
Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: Assembly trace from producer [reactor.core.publisher.MonoFlatMap] :
reactor.core.publisher.Mono.checkpoint(Mono.java:2206)
org.cloudfoundry.reactor.client.v2.routes.ReactorRoutes.listApplications(ReactorRoutes.java:138)
Error has been observed at the following site(s):
*__checkpoint() ⇢ at org.cloudfoundry.reactor.client.v2.routes.ReactorRoutes.listApplications(ReactorRoutes.java:138)
*__checkpoint() ⇢ at org.cloudfoundry.operations.routes.DefaultRoutes.list(DefaultRoutes.java:274)
Original Stack Trace:
Caused by: java.net.ConnectException: Operation timed out
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:694)
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:973)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:335)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
[INFO] Running org.cloudfoundry.operations.ApplicationsTest
14:11:28.993 cloudfoundry-client-nio-2 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
14:11:43.276 cloudfoundry-client-nio-12 cloudfoundry-client.compatibility Client supports API version 2.272.0 and is connected to server with API version 2.274.0. Things may not work as expected.
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 147.4 s -- in org.cloudfoundry.operations.ApplicationsTest
[INFO] org.cloudfoundry.operations.ApplicationsTest.restage -- Time elapsed: 28.53 s
[INFO] org.cloudfoundry.operations.ApplicationsTest.restartStarted -- Time elapsed: 29.13 s
[INFO] org.cloudfoundry.operations.ApplicationsTest.pushRoutePath -- Time elapsed: 13.45 s
[INFO] [INFO] Results:
[INFO] [WARNING] Flakes: [WARNING] org.cloudfoundry.operations.ApplicationsTest.pushRoutePath
[ERROR] Run 1: ApplicationsTest.pushRoutePath expectation "expectComplete" failed (expected: onComplete(); actual: onError(io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443))
[INFO] Run 2: PASS
[INFO] [WARNING] org.cloudfoundry.operations.ApplicationsTest.restage
[ERROR] Run 1: ApplicationsTest.restage expectation "expectComplete" failed (expected: onComplete(); actual: onError(io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443))
[INFO] Run 2: PASS
[INFO] [WARNING] org.cloudfoundry.operations.ApplicationsTest.restartStarted
[ERROR] Run 1: ApplicationsTest.restartStarted expectation "expectComplete" failed (expected: onComplete(); actual: onError(io.netty.channel.AbstractChannel$AnnotatedConnectException: Operation timed out: api.cf.xxx.io:443))
[INFO] Run 2: PASS
[INFO] [INFO] [WARNING] Tests run: 59, Failures: 0, Errors: 0, Skipped: 4, Flakes: 3
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19:23 min
[INFO] Finished at: 2026-03-03T14:13:55+01:00
[INFO] ------------------------------------------------------------------------

@pivotal-david-osullivan

Copy link
Copy Markdown
Contributor

Thank you for the PR!

Compilation is currently failing on the implementation missing the new recentLogs method that you added to the client

@ZPascal

Copy link
Copy Markdown
Author

Thank you @pivotal-david-osullivan & @anthonydahanne for fixing the tests and the reactor part. I am also working on the issue again from the SAP side and I plan to set up a BBL environment to test the change in a CF environment. Let's sync on Slack how we can handle it together and we can discuss the test setup/steps.

@anthonydahanne

Copy link
Copy Markdown
Contributor

Thank you @pivotal-david-osullivan & @anthonydahanne for fixing the tests and the reactor part. I am also working on the issue again from the SAP side and I plan to set up a BBL environment to test the change in a CF environment. Let's sync on Slack how we can handle it together and we can discuss the test setup/steps.

cool!
the current struggle is supporting recent , since there does not seem to be a Websocket or SSE endpoint for streaming logs; apparently the CLI polls, so we'd need to do just that.

@linux-foundation-easycla

linux-foundation-easyclaBot commented Apr 9, 2025

Copy link
Copy Markdown

CLA Signed

The committers listed above are authorized under a signed CLA.

Kehrlann added a commit to Kehrlann/cf-java-client that referenced this pull request Apr 9, 2025
- The DopplerClient does not work with Loggregator >= 107.0.0, and we
cannot obtain "recent" logs. Until this is fixed, we cannot cut a
release. That is the only blocking test.
- See cloudfoundrygh-1181, cloudfoundrygh-1230, cloudfoundrygh-1237
pivotal-david-osullivan pushed a commit that referenced this pull request Apr 11, 2025
…CF 2.x line (#1265)
* Restrict ApplicationsTests#logs to CF 2.x line
- The DopplerClient does not work with Loggregator >= 107.0.0, and we
cannot obtain "recent" logs. Until this is fixed, we cannot cut a
release. That is the only blocking test.
- See gh-1181, gh-1230, gh-1237
* Introduce Applications#logs API that will replace the doppler-based implementation
Signed-off-by: Daniel Garnier-Moiroux <daniel.garnier-moiroux@broadcom.com>
---------
Signed-off-by: Daniel Garnier-Moiroux <daniel.garnier-moiroux@broadcom.com>
@KehrlannKehrlann self-assigned this May 28, 2025
@KehrlannKehrlann added this to the 6.0.0 release milestone May 28, 2025
@ZPascal
ZPascalforce-pushed the issue-1181 branch 5 times, most recently from 1edaf8c to 210376cCompareFebruary 26, 2026 16:11
ZPascaland others added 9 commits February 26, 2026 17:18
* because of the findFirst() on the envelopes, it could be type OUT or ERR, so we don't really care, as long as the payload is the same.
Also, we don't care about the precise argument to the recentLogs call
The old "Applications.logs" method is keept for
compatibility and when a log stream is needed.
Adding new "logsRecent" method to access the logCache.
integration-tests "ApplicationTest.logs" and
"ApplicationTest.logsRecent" work.
Minor changes in DefaultApplicationsTest in other JUnit tests
to make them execute in Eclipse.
@ZPascalZPascal changed the title feat: Add RecentLogs supportfeat: Replace deprecated Doppler recentLogs with Log Cache clientMar 3, 2026
@ZPascal
ZPascal marked this pull request as ready for review March 3, 2026 14:12
@ZPascal

Copy link
Copy Markdown
Author

Thank you @pivotal-david-osullivan & @anthonydahanne for fixing the tests and the reactor part. I am also working on the issue again from the SAP side and I plan to set up a BBL environment to test the change in a CF environment. Let's sync on Slack how we can handle it together and we can discuss the test setup/steps.

cool! the current struggle is supporting recent , since there does not seem to be a Websocket or SSE endpoint for streaming logs; apparently the CLI polls, so we'd need to do just that.

Hi @anthonydahanne,

I've checked the possible options, and the implementation of the log streaming functionality should definitely be handled in a separate PR. It's out of the scope for the recent logs PR.

@KehrlannKehrlann left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should not introduce a new method in Applications, see comments in the PR directly.

Comment on lines +1643 to +1645
.map(EnvelopeBatch::getBatch)
.map(List::stream)
.flatMapIterable(envelopeStream -> envelopeStream.collect(Collectors.toList()))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.map(EnvelopeBatch::getBatch)
.map(List::stream)
.flatMapIterable(envelopeStream -> envelopeStream.collect(Collectors.toList()))
.flatMapIterable(EnvelopeBatch::getBatch)

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll try it out.

Comment on lines +131 to +138
/**
* List the applications logs from logCacheClient.
* If no messages are available, an empty Flux is returned.
*
* @param request the application logs request
* @return the applications logs
*/
Flux<Log> logsRecent(ReadRequest request);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the original plan, we were to replace Flux<LogMessage> logs(LogsRequest request); by Flux<ApplicationLog> logs(ApplicationLogsRequest request);.

Maybe we should not introduce a new method, but update Flux<ApplicationLog> logs(ApplicationLogsRequest request); to use logcache. Thoughts?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would result in an incompatible change. I believe we should not release any incompatible changes in version 5.x.

@KehrlannKehrlannMar 17, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to clarify, my point is:

  1. Don't introduce a new method
  2. Change the implementation of Flux<ApplicationLog> logs(ApplicationLogsRequest request);

This method was introduced specifically for this migration, see this commit: 1664cbf

It did not exist before 5.13.0 (release notes), where we said:

Deprecate doppler-based Applications#logs, prepare API types for the new Loggregator-based client

The idea was to make a method that uses Doppler, then change it to use Loggregator. That's why we introduced Doppler-agnostic types. The whole idea was to do a non-breaking change when swapping out Doppler ; the breaking change would be to remove Flux<LogMessage> logs(LogsRequest request); in v6.

(Also, in practice, this new method Flux<ApplicationLog> logs(ApplicationLogsRequest request); probably never worked for our users, because it's extremely likely they were already using a newer CF deployment version without Doppler when we released it)

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand your point, but it does feel quite opaque if we're making under-the-hood calls to another endpoint. I think this is something we should clearly document and communicate to the community so they're aware of the change.

Comment on lines +547 to +548
Mono<String> applicationGuid =
getAppGuidFromAppName(cloudFoundryOperations, applicationName);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we use Flux<ApplicationLog> logs(ApplicationLogsRequest request); for logs as mentioned further up in the comments, we can have a request that only cares about the application name, not its ID. Makes this test nicer.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn’t release a breaking change right away. This change should be released in V6.

@ZPascal

ZPascal commented May 20, 2026

Copy link
Copy Markdown
Author

I'll close the PR. The change has already been handled in #1348.

@ZPascalZPascal closed this May 20, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

recentLogs in DopplerClient does not work anymore since loggregator-release v107.0.0

6 participants

@ZPascal@pivotal-david-osullivan@anthonydahanne@Kehrlann@Lokowandtg@jorbaum