jackychee opened a new issue #985: grpc-1.x-plugin throw ClassCastException in 
gRPC-java v1.10.0
URL: https://github.com/apache/incubator-skywalking/issues/985
 
 
   Please answer these questions before submitting your issue.
   
   - Why do you submit this issue?
   - [ ] Question or discussion
   - [x] Bug
   - [ ] Requirement
   - [ ] Feature or performance improvement
   
   ___
   ### Question
   - What do you want to know?
   
   ___
   ### Bug
   - Which version of SkyWalking, OS and JRE?
   SkyWalking5.0.0-alpha
   
   - Which company or project?
   
   - What happen?
   
   In gRPC-java v1.10.0, gRPC framework will wrap ClientCallImpl before giving 
it back to ManagedChannelImpl's newCall method, so in SkyWalking's 
ManagedChannelInterceptor's afterMethod,we get a wrapped ClientCallImpl, which 
is not an EnhancedInstance instance. 
   Also, gRPC framework will wrap ClientCall.Listener instance before giving it 
back to real ClientCallImpl's start method.
   
   Error logs as below.
   
   ERROR 2018-03-24 11:48:38 InstMethodsInter :  class[class 
io.grpc.internal.ManagedChannelImpl] after method[newCall] intercept failure 
   java.lang.ClassCastException: 
io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1 cannot be cast to 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance
        at 
org.apache.skywalking.apm.plugin.grpc.v1.ManagedChannelInterceptor.afterMethod(ManagedChannelInterceptor.java:46)
        at 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:105)
        at io.grpc.internal.ManagedChannelImpl.newCall(ManagedChannelImpl.java)
        at 
io.grpc.stub.ClientCalls.blockingUnaryCall$original$mSPjc7Ob(ClientCalls.java:117)
        at 
io.grpc.stub.ClientCalls.blockingUnaryCall$original$mSPjc7Ob$accessor$FzAWtERM(ClientCalls.java)
        at io.grpc.stub.ClientCalls$auxiliary$5f2iLj6c.call(Unknown Source)
        at 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.StaticMethodsInter.intercept(StaticMethodsInter.java:86)
        at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java)
        at 
io.grpc.examples.routeguide.RouteGuideGrpc$RouteGuideBlockingStub.getFeature(RouteGuideGrpc.java:404)
        at 
io.grpc.examples.routeguide.RouteGuideClient.getFeature(RouteGuideClient.java:76)
        at 
io.grpc.examples.routeguide.RouteGuideClient.main(RouteGuideClient.java:264)
   
   
   ___
   ### Requirement or improvement
   - Please describe about your requirements or improvement suggestions.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to