spring-attic / tasklauncher-cloudfoundry

Apache License 2.0
1 stars 6 forks source link

Tasklauncher application fails to launch tasks on CF #3

Closed kinsha123 closed 7 years ago

kinsha123 commented 7 years ago

Hi ,

I am trying to create a stream with task launcher but below app is missing from repo.

task-launcher-cloudfoundry-sink-rabbit-1.0.0.RELEASE

I tried to use the task-launcher-cloudfoundry-sink-rabbit-1.2.0.M1 instead but getting class not found error in pcf .

instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.cloudfoundry.reactor.ConnectionContext]: Factory method 'connectionContext' threw exception; nested exception is java.lang.NoClassDefFoundError: io/netty/handler/ssl/util/SimpleTrustManagerFactory

I am trying to follow the steps mentioned in http://docs.spring.io/spring-cloud-task/docs/current-SNAPSHOT/reference/htmlsingle/

https://github.com/spring-cloud/spring-cloud-stream-app-starters/tree/master/tasklauncher/spring-cloud-starter-stream-sink-tasklauncher-cloudfoundry

cf client version 6.15.0 pcf version 1.9.x SCDF 1.1.1.RELEASE

Thanks

cppwfs commented 7 years ago

Do you have a full stack trace?

kinsha123 commented 7 years ago
2017-03-14T14:52:46.932-04:00 [APP/PROC/WEB/0] [OUT] Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cloudFoundryClient' defined in class path resource [org/springframework/cloud/deployer/spi/cloudfoundry/CloudFoundryDeployerAutoConfiguration.class]: Unsatisfied dependency expressed through method 'cloudFoundryClient' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connectionContext' defined in class path resource [org/springframework/cloud/deployer/spi/cloudfoundry/CloudFoundryDeployerAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.cloudfoundry.reactor.ConnectionContext]: Factory method 'connectionContext' threw exception; nested exception is java.lang.NoClassDefFoundError: io/netty/handler/ssl/util/SimpleTrustManagerFactory
2017-03-14T14:52:46.932-04:00 [APP/PROC/WEB/0] [OUT] ... 40 common frames omitted
2017-03-14T14:52:46.932-04:00 [APP/PROC/WEB/0] [OUT] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connectionContext' defined in class path resource [org/springframework/cloud/deployer/spi/cloudfoundry/CloudFoundryDeployerAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.cloudfoundry.reactor.ConnectionContext]: Factory method 'connectionContext' threw exception; nested exception is java.lang.NoClassDefFoundError: io/netty/handler/ssl/util/SimpleTrustManagerFactory
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.6.RELEASE.jar!/:4.3.6.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.cloudfoundry.reactor.ConnectionContext]: Factory method 'connectionContext' threw exception; nested exception is java.lang.NoClassDefFoundError: io/netty/handler/ssl/util/SimpleTrustManagerFactory
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.6.RELEASE.jar!/:4.3.6.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] Caused by: java.lang.NoClassDefFoundError: io/netty/handler/ssl/util/SimpleTrustManagerFactory
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.net.URLClassLoader.access$100(URLClassLoader.java:73) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.net.URLClassLoader$1.run(URLClassLoader.java:362) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.net.URLClassLoader.findClass(URLClassLoader.java:361) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94) ~[app/:na]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundryDeployerAutoConfiguration.connectionContext(CloudFoundryDeployerAutoConfiguration.java:90) ~[spring-cloud-deployer-cloudfoundry-1.1.0.RELEASE.jar!/:1.1.0.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundryDeployerAutoConfiguration$$EnhancerBySpringCGLIB$$1e5e0563.CGLIB$connectionContext$8(<generated>) ~[spring-cloud-deployer-cloudfoundry-1.1.0.RELEASE.jar!/:1.1.0.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] ... 68 common frames omitted
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] Caused by: java.lang.ClassNotFoundException: io.netty.handler.ssl.util.SimpleTrustManagerFactory
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] ... 91 common frames omitted
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066) ~[spring-beans-4.3.6.RELEASE.jar!/:4.3.6.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.6.RELEASE.jar!/:4.3.6.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] ... 54 common frames omitted
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.3.6.RELEASE.jar!/:4.3.6.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] ... 67 common frames omitted
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.net.URLClassLoader$1.run(URLClassLoader.java:368) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundryDeployerAutoConfiguration$$EnhancerBySpringCGLIB$$1e5e0563$$FastClassBySpringCGLIB$$f0f9fe.invoke(<generated>) ~[spring-cloud-deployer-cloudfoundry-1.1.0.RELEASE.jar!/:1.1.0.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-4.3.6.RELEASE.jar!/:4.3.6.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356) ~[spring-context-4.3.6.RELEASE.jar!/:4.3.6.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundryDeployerAutoConfiguration$$EnhancerBySpringCGLIB$$1e5e0563.connectionContext(<generated>) ~[spring-cloud-deployer-cloudfoundry-1.1.0.RELEASE.jar!/:1.1.0.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_91]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.6.RELEASE.jar!/:4.3.6.RELEASE]
2017-03-14T14:52:46.933-04:00 [APP/PROC/WEB/0] [OUT] at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_91]
kinsha123 commented 7 years ago

Please see trace above.

cppwfs commented 7 years ago

Was able to reproduce the issue that you reported above. I will be submitting a PR against https://github.com/spring-cloud-stream-app-starters/tasklauncher-cloudfoundry/issues/4 to update the libraries to resolve the issue.

sabbyanandan commented 7 years ago

The version incompatibility problems are resolved via #4. The core of the problem now seems to at the time of launching the task, so let's keep this issue open. @ericbottard might have some ideas on the failure.

But now fails with Droplet exception as shown below when running the task-launcher-cloudfoundry from a SCDF local on laptop. The task launcher is pointing to PWS.

2017-03-17 10:48:33.561 ERROR 24854 --- [ry-client-nio-3] s.c.CloudFoundry2630AndLaterTaskLauncher : Task Task-a5f5d123-262b-4822-acf4-53cdd3b7d63a launch failed

org.cloudfoundry.client.v3.ClientV3Exception: CF-UnprocessableEntity(10008): The request is semantically invalid: Task must have a droplet. Specify droplet or assign current droplet to app.
at org.cloudfoundry.reactor.util.ErrorPayloadMapper.lambda$null$3(ErrorPayloadMapper.java:65) ~[cloudfoundry-client-reactor-2.4.0.RELEASE.jar!/:2.4.0.RELEASE]
at org.cloudfoundry.reactor.util.ErrorPayloadMapper.lambda$null$10(ErrorPayloadMapper.java:107) ~[cloudfoundry-client-reactor-2.4.0.RELEASE.jar!/:2.4.0.RELEASE]
at reactor.core.publisher.MonoThenMap$MonoThenApplyMain.onNext(MonoThenMap.java:100) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE]
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE]
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:119) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE]
at reactor.core.publisher.FluxUsing$UsingFuseableSubscriber.onNext(FluxUsing.java:320) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE]
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:108) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onNext(FluxPeekFuseable.java:412) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE]
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:928) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE]
at reactor.core.publisher.MonoReduceSeed$ReduceSeedSubscriber.onComplete(MonoReduceSeed.java:142) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE]
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE]
at reactor.ipc.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:315) ~[reactor-netty-0.6.0.RELEASE.jar!/:na]
at reactor.ipc.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:427) ~[reactor-netty-0.6.0.RELEASE.jar!/:na]
at reactor.ipc.netty.channel.ChannelOperations.onHandlerTerminate(ChannelOperations.java:499) ~[reactor-netty-0.6.0.RELEASE.jar!/:na]
at reactor.ipc.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:469) ~[reactor-netty-0.6.0.RELEASE.jar!/:na]
at reactor.ipc.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113) ~[reactor-netty-0.6.0.RELEASE.jar!/:na]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1228) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1039) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:411) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:129) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:642) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:565) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:479) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:441) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_74]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.MonoPeek] :
reactor.core.publisher.Mono.checkpoint(Mono.java:1286)
org.cloudfoundry.reactor.client.v3.tasks.ReactorTasks.create(ReactorTasks.java:58)
org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundry2630AndLaterTaskLauncher.requestCreateTask(CloudFoundry2630AndLaterTaskLauncher.java:197)
org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundry2630AndLaterTaskLauncher.launchTask(CloudFoundry2630AndLaterTaskLauncher.java:169)
org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundry2630AndLaterTaskLauncher.lambda$launch$0(CloudFoundry2630AndLaterTaskLauncher.java:96)
reactor.core.publisher.MonoThenMap$MonoThenApplyMain.onNext(MonoThenMap.java:100)
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:928)
reactor.core.publisher.MonoThenMap$MonoThenApplyMain$SecondSubscriber.onNext(MonoThenMap.java:202)
reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:165)
reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:78)
reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114)
reactor.core.publisher.MonoFlatMap$FlattenSubscriber$InnerSubscriber.onNext(MonoFlatMap.java:199)
reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114)
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:119)
reactor.core.publisher.FluxUsing$UsingFuseableSubscriber.onNext(FluxUsing.java:320)
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:108)
reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onNext(FluxPeekFuseable.java:412)
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:928)
reactor.core.publisher.MonoReduceSeed$ReduceSeedSubscriber.onComplete(MonoReduceSeed.java:142)
reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136)
reactor.ipc.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:315)
reactor.ipc.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:427)
reactor.ipc.netty.channel.ChannelOperations.onHandlerTerminate(ChannelOperations.java:499)
reactor.ipc.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:469)
reactor.ipc.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:271)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
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:363)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1228)
io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1039)
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:363)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:129)
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:642)
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:565)
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:479)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:441)
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
Error has been observed by the following operator(s):
|_ Mono.checkpoint(ReactorTasks.java:58)
kinsha123 commented 7 years ago

Any updates ?

sabbyanandan commented 7 years ago

Hi, @kinsha123. Sorry for the delayed response. We have addressed the root of the problems reported initially.

It turns out the Task must have a droplet. Specify droplet or assign current droplet to app. error was due to a competing timeout property, which wasn't overridden at the time of task launches triggered by a stream. This resulted in the drop of a lifecycle activity and an inconsistent state of the task launch workflow. There were no code changes necessary to resolve this since it is a configuration property to override.

In the course of this troubleshooting exercise, we have identified some logging gaps in the cf-java-client library. We rely on this library for task launches in PCF, which will be released and we will absorb the logging improvements soon.

Until we release this application, please feel free to try the 1.2.0.BUILD-SNAPSHOT bits and let us know if you see any anomalies.

kinsha123 commented 7 years ago

The issue with the tasklauncher deployement is resolved now . The stream is active now and able to process request. But when i invoke request it fails with classnotfound for java.util.HashMap. i am thinking this issue with the launcher when processing the launchrequest . Below is my stream configuration .

stream create task-stream --definition "http --port=9000 | task-processor --uri=maven://com.company.cloud.stream.task.app:RecordCounterTask:0.0.1-SNAPSHOT | cftask"

Please see the below trace and let me know if you need more info .

2017-04-12T10:28:01.57-0400 [APP/PROC/WEB/0]OUT 2017-04-12 14:28:01.579 ERROR 13 --- [r.task-stream-1] o.s.c.s.b.r.Rabbi tMessageChannelBinder : Unable to deserialize [org.springframework.cloud.task.launcher.TaskLaunchRequest] using the co ntentType [application/x-java-object;type=org.springframework.cloud.task.launcher.TaskLaunchRequest] Unable to find clas s: ☺☺java.util.HashMap 2017-04-12T10:28:01.57-0400 [APP/PROC/WEB/0]OUT Serialization trace: 2017-04-12T10:28:01.57-0400 [APP/PROC/WEB/0]OUT commandlineArguments (org.springframework.cloud.task.launcher.TaskLaunch Request) 2017-04-12T10:28:02.58-0400 [APP/PROC/WEB/0]OUT 2017-04-12 14:28:02.580 ERROR 13 --- [r.task-stream-1] o.s.c.s.b.r.Rabbi tMessageChannelBinder : Unable to deserialize [org.springframework.cloud.task.launcher.TaskLaunchRequest] using the co ntentType [application/x-java-object;type=org.springframework.cloud.task.launcher.TaskLaunchRequest] Unable to find clas s: ☺☺java.util.HashMap 2017-04-12T10:28:02.58-0400 [APP/PROC/WEB/0]OUT Serialization trace: 2017-04-12T10:28:02.58-0400 [APP/PROC/WEB/0]OUT commandlineArguments (org.springframework.cloud.task.launcher.TaskLaunch Request) 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT 2017-04-12 14:28:04.581 ERROR 13 --- [r.task-stream-1] o.s.c.s.b.r.Rabbi tMessageChannelBinder : Unable to deserialize [org.springframework.cloud.task.launcher.TaskLaunchRequest] using the co ntentType [application/x-java-object;type=org.springframework.cloud.task.launcher.TaskLaunchRequest] Unable to find clas s: ☺☺java.util.HashMap 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT Serialization trace: 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT commandlineArguments (org.springframework.cloud.task.launcher.TaskLaunch Request) 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT 2017-04-12 14:28:04.582 WARN 13 --- [r.task-stream-1] o.s.a.r.r.RejectA ndDontRequeueRecoverer : Retries exhausted for message (Body:'[B@745311b2(byte[129])' MessageProperties [headers={conte ntType=application/x-java-object;type=org.springframework.cloud.task.launcher.TaskLaunchRequest, originalContentType=tex t/plain;Charset=UTF-8}, timestamp=null, messageId=null, userId=null, receivedUserId=null, appId=null, clusterId=null, ty pe=null, correlationId=null, correlationIdString=null, replyTo=null, contentType=application/x-java-object;type=org.spri ngframework.cloud.task.launcher.TaskLaunchRequest, contentEncoding=null, contentLength=0, deliveryMode=null, receivedDel iveryMode=PERSISTENT, expiration=null, priority=0, redelivered=false, receivedExchange=task-stream.task-processor, recei vedRoutingKey=task-stream.task-processor, receivedDelay=null, deliveryTag=3, messageCount=0, consumerTag=amq.ctag-l0O6om Qv0osr7Ws9EEkKKw, consumerQueue=task-stream.task-processor.task-stream]) 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFail edException: Listener threw exception 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.AbstractMessageListe nerContainer.wrapToListenerExecutionFailedExceptionIfNeeded(AbstractMessageListenerContainer.java:876) [spring-rabbit-1. 7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.AbstractMessageListe nerContainer.doInvokeListener(AbstractMessageListenerContainer.java:786) [spring-rabbit-1.7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.AbstractMessageListe nerContainer.invokeListener(AbstractMessageListenerContainer.java:706) [spring-rabbit-1.7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.SimpleMessageListene rContainer.access$001(SimpleMessageListenerContainer.java:96) [spring-rabbit-1.7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.SimpleMessageListene rContainer$1.invokeListener(SimpleMessageListenerContainer.java:187) ~[spring-rabbit-1.7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~ [na:1.8.0_91] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces sorImpl.java:62) ~[na:1.8.0_91] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet hodAccessorImpl.java:43) ~[na:1.8.0_91] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_9 1] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.aop.support.AopUtils.invokeJoinpointUsing Reflection(AopUtils.java:333) ~[spring-aop-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.aop.framework.ReflectiveMethodInvocation. invokeJoinpoint(ReflectiveMethodInvocation.java:190) [spring-aop-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.aop.framework.ReflectiveMethodInvocation. proceed(ReflectiveMethodInvocation.java:157) [spring-aop-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.retry.interceptor.RetryOperationsIntercep tor$1.doWithRetry(RetryOperationsInterceptor.java:91) ~[spring-retry-1.2.0.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.retry.support.RetryTemplate.doExecute(Ret ryTemplate.java:286) [spring-retry-1.2.0.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.retry.support.RetryTemplate.execute(Retry Template.java:179) [spring-retry-1.2.0.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.retry.interceptor.RetryOperationsIntercep tor.invoke(RetryOperationsInterceptor.java:115) [spring-retry-1.2.0.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.aop.framework.ReflectiveMethodInvocation. proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(J dkDynamicAopProxy.java:213) [spring-aop-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at com.sun.proxy.$Proxy132.invokeListener(Unknown Source) [na:na ] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.SimpleMessageListene rContainer.invokeListener(SimpleMessageListenerContainer.java:1274) [spring-rabbit-1.7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.AbstractMessageListe nerContainer.executeListener(AbstractMessageListenerContainer.java:687) [spring-rabbit-1.7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.SimpleMessageListene rContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:1217) [spring-rabbit-1.7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.SimpleMessageListene rContainer.receiveAndExecute(SimpleMessageListenerContainer.java:1187) [spring-rabbit-1.7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.SimpleMessageListene rContainer.access$1600(SimpleMessageListenerContainer.java:96) [spring-rabbit-1.7.1.RELEASE.jar!/:na] 2017-04-12T10:28:04.58-0400 [APP/PROC/WEB/0]OUT at org.springframework.amqp.rabbit.listener.SimpleMessageListene rContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1414) [spring-rabbit-1.7.1.RELEASE.jar !/:na]

sabbyanandan commented 7 years ago

What are task-processor and cftask apps? Are they OOTB apps?

kinsha123 commented 7 years ago

yes , these are out of box apps. below are maven co-ordinates.

cftask sink maven://org.springframework.cloud.stream.app:task-launcher-cloudfoundry-sink-rabbit:1.2.0.BUILD-SNAPSHOT

task-processor processor maven://org.springframework.cloud.stream.app:tasklaunchrequest-transform-processor-rabbit:1.1.0.BUILD-SNAPSHOT

cppwfs commented 7 years ago

I believe I see the problem. The version for the task-launcher was set incorrectly in the last commit. This PR may resolve this issue: https://github.com/spring-cloud-stream-app-starters/tasklauncher-cloudfoundry/pull/8

On Wed, Apr 12, 2017 at 10:43 AM, kinsha123 notifications@github.com wrote:

yes , these are out of box apps. below maven co-ordinates.

cftask sink maven://org.springframework.cloud.stream.app:task- launcher-cloudfoundry-sink-rabbit:1.2.0.BUILD-SNAPSHOT

task-processor processor maven://org.springframework.cloud.stream.app: tasklaunchrequest-transform-processor-rabbit:1.1.0.BUILD-SNAPSHOT

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/spring-cloud-stream-app-starters/tasklauncher-cloudfoundry/issues/3#issuecomment-293599846, or mute the thread https://github.com/notifications/unsubscribe-auth/AAqdeRqxh6j2zMuC3-4birDV-bsSj4ohks5rvOMNgaJpZM4MW5DR .

sabbyanandan commented 7 years ago

@kinsha123: We have released the 1.2.0.RELEASE of stream-app-starters earlier this week. Here's an example with 1.2.0.M2 release of SCDF-CF-server.

step 1- Register 1.2.0.RELEASE of apps:

dataflow:>app import --uri https://repo.maven.apache.org/maven2/org/springframework/cloud/stream/app/spring-cloud-stream-app-descriptor/Bacon.RELEASE/spring-cloud-stream-app-descriptor-Bacon.RELEASE.stream-apps-rabbit-maven --force

step 2- Create sample stream

dataflow:>stream create yeptl --definition "http | tasklaunchrequest-transform --uri=http://repo.spring.io/libs-snapshot/org/springframework/cloud/task/app/timestamp-task/1.2.0.M1/timestamp-task-1.2.0.M1.jar | task-launcher-cloudfoundry"

step 3- Deploy sample stream

dataflow:>stream deploy yeptl --properties "app.task-launcher-cloudfoundry.spring.cloud.deployer.cloudfoundry.username=[USER],app.task-launcher-cloudfoundry.spring.cloud.deployer.cloudfoundry.password=[PASSWORD],app.task-launcher-cloudfoundry.spring.cloud.deployer.cloudfoundry.org=[ORG],app.task-launcher-cloudfoundry.spring.cloud.deployer.cloudfoundry.space=[SPACE],app.task-launcher-cloudfoundry.spring.cloud.deployer.cloudfoundry.url=[URL],app.task-launcher-cloudfoundry.spring.cloud.deployer.cloudfoundry.skip-ssl-validation=true,app.task-launcher-cloudfoundry.spring.cloud.deployer.cloudfoundry.apiTimeout=30000"

step 4- Simulate an upstream event to launch the timestamp task

dataflow:>http post --data ss --target [URL-of-task-launcher-cloudfoundry-app] POST (text/plain;Charset=UTF-8) [URL-of-task-launcher-cloudfoundry-app] ss 202 ACCEPTED

step 5- Tail task-launcher-cloudfoundry logs

cf logs sabby-test-dataflow-server-yeptl-task-launcher-cloudfoundry

step 6- Verify task execution from logs

2017-04-15T12:22:40.19-0700 [APP/PROC/WEB/0]OUT 2017-04-15 19:22:40.191  INFO 20 --- [ansform.yeptl-1] o.s.c.task.launcher.TaskLauncherSink     : Launching Task for the following resource TaskLaunchRequest{uri='http://repo.spring.io/libs-snapshot/org/springframework/cloud/task/app/timestamp-task/1.2.0.M1/timestamp-task-1.2.0.M1.jar', commandlineArguments=[], environmentProperties={}, deploymentProperties={}}
2017-04-15T12:22:40.19-0700 [APP/PROC/WEB/0]OUT 2017-04-15 19:22:40.192  INFO 20 --- [ansform.yeptl-1] o.s.c.d.r.s.DelegatingResourceLoader     : Caching resource 'http://repo.spring.io/libs-snapshot/org/springframework/cloud/task/app/timestamp-task/1.2.0.M1/timestamp-task-1.2.0.M1.jar' as file /home/vcap/tmp/deployer-resource-cache1614298797678782845/http-d40ddd42ae2b81ca8f222ce38ea7c48d80810a8b
2017-04-15T12:23:35.06-0700 [APP/PROC/WEB/0]OUT 2017-04-15 19:23:35.063  INFO 20 --- [ry-client-nio-4] s.c.CloudFoundry2630AndLaterTaskLauncher : Task Task-c8c263fe-d5ab-4734-9dc3-a4d14f802ee1 launch successful

Please try the latest release and update here with your findings. If you're still seeing problems with it, please try with timestamp application first. This way we can make sure there aren't any issues with your custom RecordCounterTask application.

kinsha123 commented 7 years ago

This release resolved our issue .