-
Notifications
You must be signed in to change notification settings - Fork 323
Closed
Description
This problem can be reproduced with the test program from here:
When the program is run it tries to push a app with the following manifest:
applications:
- name: test-static-aaasd
buildpack: staticfile_buildpack
health-check-type: http
health-check-http-endpoint: /testbad.txt
path: testapp.zip
What is supposed to happen is the app gets pushed and but fails to start because the healtcheck doesn't pass.
What happens instead is the we get an error from the client indicating that it doesn't like the health-check-http-endpoint
value of /testbad.txt
.
You can also change the manifest to use /test.txt
in which case it should push succesfully. You will instead get the same error that the client doesn't like the uri.
Here's the full log output from running the test code:
Starting...
Using PASSWORD token for auth
[main] DEBUG cloudfoundry-client.operations - START Push Manifest
[main] DEBUG cloudfoundry-client.request - GET https://api.run.pivotal.io:443/v2/organizations?q=name:FrameworksAndRuntimes&page=1
[cloudfoundry-client-nio-5] DEBUG cloudfoundry-client.token - Negotiating using token provider
[cloudfoundry-client-nio-5] DEBUG cloudfoundry-client.request - GET https://api.run.pivotal.io:443/v2/info
[cloudfoundry-client-nio-7] DEBUG cloudfoundry-client.response - 200 https://api.run.pivotal.io:443/v2/info (360 ms)
[cloudfoundry-client-nio-7] DEBUG cloudfoundry-client.request - POST https://login.run.pivotal.io:443/oauth/token
[cloudfoundry-client-nio-1] DEBUG cloudfoundry-client.response - 200 https://login.run.pivotal.io:443/oauth/token (548 ms)
[cloudfoundry-client-nio-1] DEBUG cloudfoundry-client.token - Refresh Token: eyJhbGciOiJSUzI1NiIsImtpZCI6InNoYTItMjAxNy0wMS0yMC1rZXkiLCJ0eXAiOiJKV1QifQ.eyJqdGkiOiIzM2NhYzAwODBiZmY0NGQ5ODU5NDg1MjZjYWI1N2UwYS1yIiwic3ViIjoiNzY0NzQ4YzgtY2U3ZS00OTA1LWI1NzMtYjAyNDU3OGM4Y2U5Iiwic2NvcGUiOlsib3BlbmlkIiwidWFhLnVzZXIiLCJjbG91ZF9jb250cm9sbGVyLnJlYWQiLCJwYXNzd29yZC53cml0ZSIsImNsb3VkX2NvbnRyb2xsZXIud3JpdGUiXSwiaWF0IjoxNDk2OTQ2MTE5LCJleHAiOjE0OTc1NTA5MTksImNpZCI6ImNmIiwiY2xpZW50X2lkIjoiY2YiLCJpc3MiOiJodHRwczovL3VhYS5ydW4ucGl2b3RhbC5pby9vYXV0aC90b2tlbiIsInppZCI6InVhYSIsImdyYW50X3R5cGUiOiJwYXNzd29yZCIsInVzZXJfbmFtZSI6ImtkZXZvbGRlckBnb3Bpdm90YWwuY29tIiwib3JpZ2luIjoidWFhIiwidXNlcl9pZCI6Ijc2NDc0OGM4LWNlN2UtNDkwNS1iNTczLWIwMjQ1NzhjOGNlOSIsInJldl9zaWciOiI0ZDYwZDI2MCIsImF1ZCI6WyJjbG91ZF9jb250cm9sbGVyIiwicGFzc3dvcmQiLCJjZiIsInVhYSIsIm9wZW5pZCJdfQ.YB6xwhlHdDRhiOla0FBx83aJ_L7Zm5a3rdizopqENFNqmzb4LOqBL7aJpXPLeIWCOUWqFHcDsRdElDPnr8hWT1otBWIL2_LDWVjVxvi0NjOkplJxfbynMeW5VD9hK5jFt_JkWY8Ed3PTrU59RU5BbOTGENYfF6iceM97INKXwDTtc8ql0lyfe49WVQUBER9072eBwZ_BeWhuri-QRh3G7P0Oe2HM1QhX7BAb-mjWc7tyZ95rLQ9vUgeqimOB3C7ywvg8JjbLDK01VCmZ8OEGCyMP9hqmkyhC6Pq4RjVzEuXdB_nYwuRox_M-Z69DkNTaUT-IP9qGCOeXSPlILc6N0g
[cloudfoundry-client-nio-1] DEBUG cloudfoundry-client.token - Refresh Token Issued At: 2017-06-08T18:21:59 UTC
[cloudfoundry-client-nio-1] DEBUG cloudfoundry-client.token - Refresh Token Expires At: 2017-06-15T18:21:59 UTC
[cloudfoundry-client-nio-1] DEBUG cloudfoundry-client.token - Access Token: eyJhbGciOiJSUzI1NiIsImtpZCI6InNoYTItMjAxNy0wMS0yMC1rZXkiLCJ0eXAiOiJKV1QifQ.eyJqdGkiOiI5OWY5MDNjYWRmYTM0Mjg5YjMyN2FkNmIxOGQ5NDQ5MiIsInN1YiI6Ijc2NDc0OGM4LWNlN2UtNDkwNS1iNTczLWIwMjQ1NzhjOGNlOSIsInNjb3BlIjpbIm9wZW5pZCIsInVhYS51c2VyIiwiY2xvdWRfY29udHJvbGxlci5yZWFkIiwicGFzc3dvcmQud3JpdGUiLCJjbG91ZF9jb250cm9sbGVyLndyaXRlIl0sImNsaWVudF9pZCI6ImNmIiwiY2lkIjoiY2YiLCJhenAiOiJjZiIsImdyYW50X3R5cGUiOiJwYXNzd29yZCIsInVzZXJfaWQiOiI3NjQ3NDhjOC1jZTdlLTQ5MDUtYjU3My1iMDI0NTc4YzhjZTkiLCJvcmlnaW4iOiJ1YWEiLCJ1c2VyX25hbWUiOiJrZGV2b2xkZXJAZ29waXZvdGFsLmNvbSIsImVtYWlsIjoia2Rldm9sZGVyQGdvcGl2b3RhbC5jb20iLCJhdXRoX3RpbWUiOjE0OTY5NDYxMTksInJldl9zaWciOiI0ZDYwZDI2MCIsImlhdCI6MTQ5Njk0NjExOSwiZXhwIjoxNDk2OTQ2NzE5LCJpc3MiOiJodHRwczovL3VhYS5ydW4ucGl2b3RhbC5pby9vYXV0aC90b2tlbiIsInppZCI6InVhYSIsImF1ZCI6WyJjbG91ZF9jb250cm9sbGVyIiwicGFzc3dvcmQiLCJjZiIsInVhYSIsIm9wZW5pZCJdfQ.rkaZZmUqYJ-pi8NfRcRUGGZBvspf9BsAmO_rWGALgPJW9-e2CU2rY0Z1qWuppQShrkrz2_-dCNdOSRWleBFUQDibH1fLO56EdT2ETts8cQ-j1fmWW2pKoA5A32WMg0P5YHBQqEqatRDOuSKxbs9MPleu8xVVfWXWRc02rm0Ix9JkyLiqtau_mUt-pjh9a6nrBw3w2czY0hsi11TprWtJ25zPNd2D0BvDjtYQwaY0ZFvmhIR6lY1amOxdLxNxG9vzWfY0xIK9mvWHjUtgfj54FtCReYO-t5y9DIF6QwSRcKqeZfwePWCCvh3DHvz-Vcvnb4PlKHBoQxRleIUBLgDW0g
[cloudfoundry-client-nio-1] DEBUG cloudfoundry-client.token - Access Token Issued At: 2017-06-08T18:21:59 UTC
[cloudfoundry-client-nio-1] DEBUG cloudfoundry-client.token - Access Token Expires At: 2017-06-08T18:31:59 UTC
[cloudfoundry-client-nio-5] DEBUG cloudfoundry-client.response - 200 https://api.run.pivotal.io:443/v2/organizations?q=name:FrameworksAndRuntimes&page=1 (1.5 s)
[cloudfoundry-client-nio-5] DEBUG cloudfoundry-client.request - GET https://api.run.pivotal.io:443/v2/spaces?q=name:kdevolder&q=organization_guid:47027c3d-5d72-4429-b3ab-0e3936e916f2&page=1
[cloudfoundry-client-nio-3] DEBUG cloudfoundry-client.response - 200 https://api.run.pivotal.io:443/v2/spaces?q=name:kdevolder&q=organization_guid:47027c3d-5d72-4429-b3ab-0e3936e916f2&page=1 (667 ms)
[cloudfoundry-client-nio-3] DEBUG cloudfoundry-client.request - GET https://api.run.pivotal.io:443/v2/spaces/20bdfe09-3153-4bee-8d25-cfd69323183e
[cloudfoundry-client-nio-5] DEBUG cloudfoundry-client.response - 200 https://api.run.pivotal.io:443/v2/spaces/20bdfe09-3153-4bee-8d25-cfd69323183e (315 ms)
[cloudfoundry-client-nio-5] DEBUG cloudfoundry-client.request - GET https://api.run.pivotal.io:443/v2/organizations/47027c3d-5d72-4429-b3ab-0e3936e916f2/private_domains?page=1
[cloudfoundry-client-nio-5] DEBUG cloudfoundry-client.request - GET https://api.run.pivotal.io:443/v2/shared_domains?page=1
[cloudfoundry-client-nio-7] DEBUG cloudfoundry-client.response - 200 https://api.run.pivotal.io:443/v2/organizations/47027c3d-5d72-4429-b3ab-0e3936e916f2/private_domains?page=1 (292 ms)
[cloudfoundry-client-nio-1] DEBUG cloudfoundry-client.response - 200 https://api.run.pivotal.io:443/v2/shared_domains?page=1 (378 ms)
[cloudfoundry-client-nio-1] DEBUG cloudfoundry-client.request - GET https://api.run.pivotal.io:443/v2/spaces/20bdfe09-3153-4bee-8d25-cfd69323183e/apps?q=name:test-static-aaasd&page=1
[elastic-2] DEBUG cloudfoundry-client.request - PUT https://api.run.pivotal.io:443/v2/resource_match
[cloudfoundry-client-nio-3] DEBUG cloudfoundry-client.response - 200 https://api.run.pivotal.io:443/v2/spaces/20bdfe09-3153-4bee-8d25-cfd69323183e/apps?q=name:test-static-aaasd&page=1 (298 ms)
[cloudfoundry-client-nio-3] DEBUG cloudfoundry-client.request - POST https://api.run.pivotal.io:443/v2/apps
[cloudfoundry-client-nio-5] DEBUG cloudfoundry-client.response - 200 https://api.run.pivotal.io:443/v2/resource_match (319 ms)
[cloudfoundry-client-nio-5] DEBUG cloudfoundry-client.resource-matching - 0 resources matched totaling 0 B
[cloudfoundry-client-nio-7] DEBUG cloudfoundry-client.response - 400 https://api.run.pivotal.io:443/v2/apps (305 ms)
Exception in thread "main" org.cloudfoundry.client.v2.ClientV2Exception: CF-AppInvalid(100001): The app is invalid: health_check_http_endpoint HTTP health check endpoint is not a valid URI path:
at org.cloudfoundry.reactor.util.ErrorPayloadMapper.lambda$null$0(ErrorPayloadMapper.java:47)
at org.cloudfoundry.reactor.util.ErrorPayloadMapper.lambda$null$10(ErrorPayloadMapper.java:108)
at reactor.core.publisher.MonoThenMap$ThenMapMain.onNext(MonoThenMap.java:120)
at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:67)
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:108)
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:115)
at reactor.core.publisher.FluxUsing$UsingFuseableSubscriber.onNext(FluxUsing.java:351)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:103)
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onNext(FluxPeekFuseable.java:428)
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:962)
at reactor.core.publisher.MonoReduceSeed$ReduceSeedSubscriber.onComplete(MonoReduceSeed.java:150)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:130)
at reactor.ipc.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:375)
at reactor.ipc.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:198)
at reactor.ipc.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:338)
at reactor.ipc.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:343)
at reactor.ipc.netty.channel.ChannelOperations.onHandlerTerminate(ChannelOperations.java:419)
at reactor.ipc.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:566)
at reactor.ipc.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:125)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1240)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1041)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:411)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:624)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:559)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:476)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:748)
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.MonoPeek] :
reactor.core.publisher.Mono.checkpoint(Mono.java:1400)
org.cloudfoundry.reactor.client.v2.applications.ReactorApplicationsV2.create(ReactorApplicationsV2.java:104)
org.cloudfoundry.operations.applications.DefaultApplications.requestCreateApplication(DefaultApplications.java:1162)
org.cloudfoundry.operations.applications.DefaultApplications.getApplicationId(DefaultApplications.java:715)
org.cloudfoundry.operations.applications.DefaultApplications.lambda$pushApplication$96(DefaultApplications.java:1040)
reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:140)
reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:46)
reactor.core.publisher.FluxFlatMap.subscribe(FluxFlatMap.java:95)
reactor.core.publisher.FluxFlatMap.subscribe(FluxFlatMap.java:95)
reactor.core.publisher.FluxFlatMap.subscribe(FluxFlatMap.java:95)
reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:384)
reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:174)
reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:144)
reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:345)
reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:89)
reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:54)
reactor.core.publisher.FluxFlatMap.subscribe(FluxFlatMap.java:95)
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:183)
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:962)
reactor.core.publisher.MonoThenMap$ThenMapMain$ThenMapInner.onNext(MonoThenMap.java:237)
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:962)
reactor.core.publisher.MonoWhen$WhenCoordinator.signal(MonoWhen.java:249)
reactor.core.publisher.MonoWhen$WhenInner.onNext(MonoWhen.java:308)
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:962)
reactor.core.publisher.MonoCollectList$MonoBufferAllSubscriber.onComplete(MonoCollectList.java:115)
reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:739)
reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:511)
reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:840)
reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:933)
reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:130)
reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:739)
reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:511)
reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:491)
reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:484)
reactor.core.publisher.MonoFlatMap$FlatMapInner.onComplete(MonoFlatMap.java:245)
reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:317)
reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:616)
reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onComplete(FluxFlattenIterable.java:258)
reactor.core.publisher.FluxBuffer$BufferExactSubscriber.onComplete(FluxBuffer.java:179)
reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:183)
reactor.core.publisher.FluxConcatArray.subscribe(FluxConcatArray.java:79)
reactor.core.publisher.FluxBuffer.subscribe(FluxBuffer.java:72)
reactor.core.publisher.FluxFlattenIterable.subscribe(FluxFlattenIterable.java:104)
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:183)
reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:173)
reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:76)
reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:108)
reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:235)
reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:108)
reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:108)
reactor.ipc.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:207)
reactor.ipc.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:322)
reactor.ipc.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:316)
reactor.ipc.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:581)
reactor.ipc.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:125)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
reactor.ipc.netty.http.HttpOperations.lambda$static$3(HttpOperations.java:261)
reactor.ipc.netty.ReactorNetty$ExtractorHandler.channelRead(ReactorNetty.java:328)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1240)
io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1041)
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:411)
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:624)
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:559)
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:476)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438)
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
Error has been observed by the following operator(s):
|_ Mono.checkpoint(ReactorApplicationsV2.java:104)
|_ Mono.checkpoint(DefaultApplications.java:397)
Suppressed: reactor.core.publisher.FluxOnAssembly$AssemblySnapshotException
at reactor.core.publisher.MonoOnAssembly.<init>(MonoOnAssembly.java:54)
at reactor.core.publisher.Mono.checkpoint(Mono.java:1400)
at org.cloudfoundry.operations.applications.DefaultApplications.pushManifest(DefaultApplications.java:397)
at com.github.kdvolder.cfv2sample.CFV2SampleMain.pushAnApp(CFV2SampleMain.java:92)
at com.github.kdvolder.cfv2sample.CFV2SampleMain.main(CFV2SampleMain.java:78)
Suppressed: java.lang.Exception: #block terminated with an error
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:86)
at reactor.core.publisher.Mono.block(Mono.java:1301)
at com.github.kdvolder.cfv2sample.CFV2SampleMain.pushAnApp(CFV2SampleMain.java:92)
at com.github.kdvolder.cfv2sample.CFV2SampleMain.main(CFV2SampleMain.java:78)
[cloudfoundry-client-nio-7] DEBUG cloudfoundry-client.operations - FINISH Push Manifest (onError/3.7 s)