{"action":"created","issue":{"url":"https://api.github.com/repos/apache/incubator-servicecomb-saga/issues/296","repository_url":"https://api.github.com/repos/apache/incubator-servicecomb-saga","labels_url":"https://api.github.com/repos/apache/incubator-servicecomb-saga/issues/296/labels{/name}","comments_url":"https://api.github.com/repos/apache/incubator-servicecomb-saga/issues/296/comments","events_url":"https://api.github.com/repos/apache/incubator-servicecomb-saga/issues/296/events","html_url":"https://github.com/apache/incubator-servicecomb-saga/issues/296","id":360237058,"node_id":"MDU6SXNzdWUzNjAyMzcwNTg=","number":296,"title":"Saga transaction cancel does't work","user":{"login":"minlywang","id":6701942,"node_id":"MDQ6VXNlcjY3MDE5NDI=","avatar_url":"https://avatars2.githubusercontent.com/u/6701942?v=4","gravatar_id":"","url":"https://api.github.com/users/minlywang","html_url":"https://github.com/minlywang","followers_url":"https://api.github.com/users/minlywang/followers","following_url":"https://api.github.com/users/minlywang/following{/other_user}","gists_url":"https://api.github.com/users/minlywang/gists{/gist_id}","starred_url":"https://api.github.com/users/minlywang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minlywang/subscriptions","organizations_url":"https://api.github.com/users/minlywang/orgs","repos_url":"https://api.github.com/users/minlywang/repos","events_url":"https://api.github.com/users/minlywang/events{/privacy}","received_events_url":"https://api.github.com/users/minlywang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-14T09:55:52Z","updated_at":"2018-09-14T13:05:23Z","closed_at":null,"author_association":"NONE","body":"**### I am using saga in my sping cloud microservice project with eureka as the service registry\r\nspring cloud version: 2.0.3**\r\n\r\nthe test code:\r\n\r\n`@Compensable(compensationMethod=\"cancelTransaction\")\r\n\t@Override\r\n\tpublic void testTransaction(String questionNo) {\r\n\t\tthrow new RuntimeException(\"Error!\");\r\n\t}\r\n\t\r\n\t@Override\r\n\tpublic void cancelTransaction(String questionNo) {\r\n\t\tSystem.out.println(\"cancelTransaction....\");\r\n\t}`\r\n\r\n\r\n**When I test the distributed transaction in my project, the \"cancelTransaction\" method can't be invoked\r\nand I got the Alpha Server error down below:**\r\n\r\n\r\n**09:20:49.209 [grpc-default-worker-ELG-3-3] INFO  io.grpc.netty.NettyServerTransport.connections - Transport failed\r\n\r\n\r\nio.netty.handler.codec.http2.Http2Exception: Unexpected HTTP/1.x request: GET /** \r\n\r\n\r\n\tat io.netty.handler.codec.http2.Http2Exception.connectionError(Http2Exception.java:85) ~[netty-codec-http2-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.readClientPrefaceString(Http2ConnectionHandler.java:314) ~[netty-codec-http2-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.decode(Http2ConnectionHandler.java:251) ~[netty-codec-http2-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:450) ~[netty-codec-http2-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) ~[netty-codec-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) ~[netty-codec-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[netty-codec-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) ~[netty-transport-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) ~[netty-common-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.24.Final.jar!/:4.1.24.Final]\r\n\r\n\r\n\tat java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]\r\n\r\n**Client output log:**\r\n\r\n2018-09-14 18:10:25.035 DEBUG [settlement,401a65f27fcc7085,0b5ac42f36a61db9,false] 38292 --- [  XNIO-2 task-6] c.i.z.m.web.aop.logging.LoggingAspect    : Enter: com.ifelc.z.microservice.service.yiwen.settlement.web.controller.SettlementController.testTransaction() with argument[s] = [test]\r\n2018-09-14 18:10:25.038 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] OUTBOUND HEADERS: streamId=15 headers=GrpcHttp2OutboundHeaders[:authority: 172.24.120.33:8888, :path: /TxEventService/OnTxEvent, :method: POST, :scheme: http, content-type: application/grpc, te: trailers, user-agent: grpc-java-netty/1.14.0, grpc-accept-encoding: gzip, grpc-trace-bin: ] streamDependency=0 weight=16 exclusive=false padding=0 endStream=false\r\n2018-09-14 18:10:25.039 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] OUTBOUND DATA: streamId=15 padding=0 endStream=true length=150 bytes=0000000091088bd5bdbcdd2c122435633437643238622d363933642d346663302d396363302d3737313839323365353661311a2435633437643238622d363933...\r\n2018-09-14 18:10:25.060 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND HEADERS: streamId=15 headers=GrpcHttp2ResponseHeaders[:status: 200, content-type: application/grpc, grpc-encoding: identity, grpc-accept-encoding: gzip] streamDependency=0 weight=16 exclusive=false padding=0 endStream=false\r\n2018-09-14 18:10:25.060 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND DATA: streamId=15 padding=0 endStream=false length=5 bytes=0000000000\r\n2018-09-14 18:10:25.061 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND HEADERS: streamId=15 headers=GrpcHttp2ResponseHeaders[grpc-status: 0] streamDependency=0 weight=16 exclusive=false padding=0 endStream=true\r\n2018-09-14 18:10:25.061 DEBUG [settlement,401a65f27fcc7085,0b5ac42f36a61db9,false] 38292 --- [  XNIO-2 task-6] c.i.z.m.web.aop.logging.LoggingAspect    : Enter: com.ifelc.z.microservice.service.yiwen.settlement.service.impl.WithdrawServiceImpl.testTransaction() with argument[s] = [test]\r\n2018-09-14 18:10:25.063 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] OUTBOUND HEADERS: streamId=17 headers=GrpcHttp2OutboundHeaders[:authority: 172.24.120.33:8888, :path: /TxEventService/OnTxEvent, :method: POST, :scheme: http, content-type: application/grpc, te: trailers, user-agent: grpc-java-netty/1.14.0, grpc-accept-encoding: gzip, grpc-trace-bin: ] streamDependency=0 weight=16 exclusive=false padding=0 endStream=false\r\n2018-09-14 18:10:25.063 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] OUTBOUND DATA: streamId=17 padding=0 endStream=true length=325 bytes=000000014008a6d5bdbcdd2c122435633437643238622d363933642d346663302d396363302d3737313839323365353661311a2463653361346262362d363636...\r\n2018-09-14 18:10:25.079 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND HEADERS: streamId=17 headers=GrpcHttp2ResponseHeaders[:status: 200, content-type: application/grpc, grpc-encoding: identity, grpc-accept-encoding: gzip] streamDependency=0 weight=16 exclusive=false padding=0 endStream=false\r\n2018-09-14 18:10:25.079 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND DATA: streamId=17 padding=0 endStream=false length=5 bytes=0000000000\r\n2018-09-14 18:10:25.080 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND HEADERS: streamId=17 headers=GrpcHttp2ResponseHeaders[grpc-status: 0] streamDependency=0 weight=16 exclusive=false padding=0 endStream=true\r\n2018-09-14 18:10:25.083 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] OUTBOUND HEADERS: streamId=19 headers=GrpcHttp2OutboundHeaders[:authority: 172.24.120.33:8888, :path: /TxEventService/OnTxEvent, :method: POST, :scheme: http, content-type: application/grpc, te: trailers, user-agent: grpc-java-netty/1.14.0, grpc-accept-encoding: gzip, grpc-trace-bin: ] streamDependency=0 weight=16 exclusive=false padding=0 endStream=false\r\n2018-09-14 18:10:25.084 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] OUTBOUND DATA: streamId=19 padding=0 endStream=true length=10565 bytes=000000294008b9d5bdbcdd2c122435633437643238622d363933642d346663302d396363302d3737313839323365353661311a2463653361346262362d363636...\r\n2018-09-14 18:10:25.097 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND HEADERS: streamId=19 headers=GrpcHttp2ResponseHeaders[:status: 200, content-type: application/grpc, grpc-encoding: identity, grpc-accept-encoding: gzip] streamDependency=0 weight=16 exclusive=false padding=0 endStream=false\r\n2018-09-14 18:10:25.097 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND DATA: streamId=19 padding=0 endStream=false length=5 bytes=0000000000\r\n2018-09-14 18:10:25.097 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND HEADERS: streamId=19 headers=GrpcHttp2ResponseHeaders[grpc-status: 0] streamDependency=0 weight=16 exclusive=false padding=0 endStream=true\r\n2018-09-14 18:10:25.098 ERROR [settlement,401a65f27fcc7085,0b5ac42f36a61db9,false] 38292 --- [  XNIO-2 task-6] c.i.z.m.web.aop.logging.LoggingAspect    : Exception in com.ifelc.z.microservice.service.yiwen.settlement.service.impl.WithdrawServiceImpl.testTransaction() with cause = 'NULL' and exception = 'Error!'\r\n\r\njava.lang.RuntimeException: Error!\r\n\tat com.ifelc.z.microservice.service.yiwen.settlement.service.impl.WithdrawServiceImpl.testTransaction(WithdrawServiceImpl.java:102)\r\n\tat com.ifelc.z.microservice.service.yiwen.settlement.service.impl.WithdrawServiceImpl$$FastClassBySpringCGLIB$$eb230637.invoke(<generated>)\r\n\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)\r\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n\tat org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)\r\n\tat org.apache.servicecomb.saga.omega.transaction.DefaultRecovery.apply(DefaultRecovery.java:69)\r\n\tat org.apache.servicecomb.saga.omega.transaction.TransactionAspect.advise(TransactionAspect.java:55)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)\r\n\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)\r\n\tat org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:174)\r\n\tat org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)\r\n\tat com.ifelc.z.microservice.web.aop.logging.LoggingAspect.logAround(LoggingAspect.java:87)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)\r\n\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)\r\n\tat org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)\r\n\tat org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)\r\n\tat org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)\r\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)\r\n\tat com.ifelc.z.microservice.service.yiwen.settlement.service.impl.WithdrawServiceImpl$$EnhancerBySpringCGLIB$$c3e2d2f.testTransaction(<generated>)\r\n\tat com.ifelc.z.microservice.service.yiwen.settlement.web.controller.SettlementController.testTransaction(SettlementController.java:83)\r\n\tat com.ifelc.z.microservice.service.yiwen.settlement.web.controller.SettlementController$$FastClassBySpringCGLIB$$88d1559c.invoke(<generated>)\r\n\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)\r\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n\tat org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)\r\n\tat org.apache.servicecomb.saga.omega.transaction.SagaStartAspect.advise(SagaStartAspect.java:53)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)\r\n\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)\r\n\tat org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:174)\r\n\tat org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)\r\n\tat com.ifelc.z.microservice.web.aop.logging.LoggingAspect.logAround(LoggingAspect.java:87)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)\r\n\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)\r\n\tat org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)\r\n\tat org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)\r\n\tat org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)\r\n\tat com.ryantenney.metrics.spring.TimedMethodInterceptor.invoke(TimedMethodInterceptor.java:48)\r\n\tat com.ryantenney.metrics.spring.TimedMethodInterceptor.invoke(TimedMethodInterceptor.java:34)\r\n\tat com.ryantenney.metrics.spring.AbstractMetricMethodInterceptor.invoke(AbstractMetricMethodInterceptor.java:59)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)\r\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)\r\n\tat com.ifelc.z.microservice.service.yiwen.settlement.web.controller.SettlementController$$EnhancerBySpringCGLIB$$7485ca41.testTransaction(<generated>)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783)\r\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)\r\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)\r\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:687)\r\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\r\n\tat io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)\r\n\tat com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:111)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:158)\r\n\tat org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:126)\r\n\tat org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:111)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:90)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)\r\n\tat org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)\r\n\tat org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)\r\n\tat org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)\r\n\tat org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)\r\n\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357)\r\n\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat org.springframework.cloud.sleuth.instrument.web.ExceptionLoggingFilter.doFilter(ExceptionLoggingFilter.java:48)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat brave.servlet.TracingFilter.doFilter(TracingFilter.java:86)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n\tat io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n\tat io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)\r\n\tat io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)\r\n\tat io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:64)\r\n\tat io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)\r\n\tat io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)\r\n\tat io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)\r\n\tat io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\r\n\tat io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)\r\n\tat io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)\r\n\tat io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)\r\n\tat io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)\r\n\tat io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)\r\n\tat io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\r\n\tat io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\r\n\tat io.undertow.servlet.handlers.SessionRestoringHandler.handleRequest(SessionRestoringHandler.java:119)\r\n\tat io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)\r\n\tat io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)\r\n\tat io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)\r\n\tat io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)\r\n\tat io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)\r\n\tat io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)\r\n\tat io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)\r\n\tat io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)\r\n\tat io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)\r\n\tat io.undertow.server.Connectors.executeRootHandler(Connectors.java:336)\r\n\tat io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\n\r\n2018-09-14 18:10:25.102 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] OUTBOUND HEADERS: streamId=21 headers=GrpcHttp2OutboundHeaders[:authority: 172.24.120.33:8888, :path: /TxEventService/OnTxEvent, :method: POST, :scheme: http, content-type: application/grpc, te: trailers, user-agent: grpc-java-netty/1.14.0, grpc-accept-encoding: gzip, grpc-trace-bin: ] streamDependency=0 weight=16 exclusive=false padding=0 endStream=false\r\n2018-09-14 18:10:25.103 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] OUTBOUND DATA: streamId=21 padding=0 endStream=true length=10528 bytes=000000291b08ccd5bdbcdd2c122435633437643238622d363933642d346663302d396363302d3737313839323365353661311a2435633437643238622d363933...\r\n2018-09-14 18:10:25.116 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND HEADERS: streamId=21 headers=GrpcHttp2ResponseHeaders[:status: 200, content-type: application/grpc, grpc-encoding: identity, grpc-accept-encoding: gzip] streamDependency=0 weight=16 exclusive=false padding=0 endStream=false\r\n2018-09-14 18:10:25.116 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND DATA: streamId=21 padding=0 endStream=false length=5 bytes=0000000000\r\n2018-09-14 18:10:25.116 DEBUG [settlement,,,] 38292 --- [-worker-ELG-1-5] io.grpc.netty.NettyClientHandler         : [id: 0x38e2a690, L:/10.32.24.127:56850 - R:/172.24.120.33:8888] INBOUND HEADERS: streamId=21 headers=GrpcHttp2ResponseHeaders[grpc-status: 0] streamDependency=0 weight=16 exclusive=false padding=0 endStream=true\r\n2018-09-14 18:10:25.117 ERROR [settlement,401a65f27fcc7085,0b5ac42f36a61db9,false] 38292 --- [  XNIO-2 task-6] o.a.s.s.o.transaction.SagaStartAspect    : Transaction 5c47d28b-693d-4fc0-9cc0-7718923e56a1 failed."},"comment":{"url":"https://api.github.com/repos/apache/incubator-servicecomb-saga/issues/comments/421352100","html_url":"https://github.com/apache/incubator-servicecomb-saga/issues/296#issuecomment-421352100","issue_url":"https://api.github.com/repos/apache/incubator-servicecomb-saga/issues/296","id":421352100,"node_id":"MDEyOklzc3VlQ29tbWVudDQyMTM1MjEwMA==","user":{"login":"WillemJiang","id":219644,"node_id":"MDQ6VXNlcjIxOTY0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/219644?v=4","gravatar_id":"","url":"https://api.github.com/users/WillemJiang","html_url":"https://github.com/WillemJiang","followers_url":"https://api.github.com/users/WillemJiang/followers","following_url":"https://api.github.com/users/WillemJiang/following{/other_user}","gists_url":"https://api.github.com/users/WillemJiang/gists{/gist_id}","starred_url":"https://api.github.com/users/WillemJiang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WillemJiang/subscriptions","organizations_url":"https://api.github.com/users/WillemJiang/orgs","repos_url":"https://api.github.com/users/WillemJiang/repos","events_url":"https://api.github.com/users/WillemJiang/events{/privacy}","received_events_url":"https://api.github.com/users/WillemJiang/received_events","type":"User","site_admin":false},"created_at":"2018-09-14T13:05:23Z","updated_at":"2018-09-14T13:05:23Z","author_association":"MEMBER","body":"There is something wrong when Alpha try to call the cancel or confirm method. \r\nCurrent Omega doesn't catch the exception and it breaks the callback stream connection, then the cancelTransaction won't be invoked.\r\n\r\n[ XNIO-2 task-6] c.i.z.m.web.aop.logging.LoggingAspect : Exception in com.ifelc.z.microservice.service.yiwen.settlement.service.impl.WithdrawServiceImpl.testTransaction() with cause = 'NULL' and exception = 'Error!'\r\n\r\njava.lang.RuntimeException: Error!\r\nat com.ifelc.z.microservice.service.yiwen.settlement.service.impl.WithdrawServiceImpl.testTransaction(WithdrawServiceImpl.java:102)\r\nat \r\n\r\nWe are planing to fix this kind of corn case next week.\r\n"}}
{"actor":{"display_login":"WillemJiang"}}