[grpc-io] Re: gRPC server executor pool slowing process execution
Single publisher is sending 1L messages and being distributed over 2mins. *Observed:* load average: 1.24, 0.48, 0.17 %CPU: 600 %MEM: 65 On Thursday, October 25, 2018 at 3:49:07 PM UTC+5:30, qplc wrote: > > Hi, > > I've implemented zookeeper balanced grpc server and client. > Following are the execution configuration details: > Grpc Client: > Channel Count: 1 > Boss/Acceptor Thread: 1 > Nio Threads: 100 > Executor/App Threads: 100 > > Grpc Server: > Nio Threads: 100 > Executor/App Threads: 400 > Max conucurrent calls per connection: 100 > > Here, I'm using ForkJoinPool while setting executor. I'm sending messages > on RabbitMQ and forwards to gRPC client. Publisher rate is 10k messages per > 10sec. > > As I've observed each request when reaches server it executes till > 10seconds. And as configured most 400 tasks are getting executed > concurrently at a time. Due to this piling up other 9600 requests as > waiting for application threads to be available. > > This is slowing overall process as piling up the requests and I couldn't > delegate the tasks to other thread pool as executor has already been > dedicated for the same. > > Also, I've given 16gb for application. Increasing the thread count could > help here as I have already given sufficient configuration. > How do I improve the execution faster? > > > Thanks, > qplc > > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/7bc25124-5456-4fcd-9ad3-aff2917337dd%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] Re: gRPC server executor pool slowing process execution
Thanks Kun for your reply. As you mentioned, I have implemented non streaming async client and server with limited threads configured. Here are the details: Machine Cores: 8 Channel Count: 1 Grpc Client NIO Threads: (Cores-2) * 2 = 12 Grpc Client App Threads: 30 Grpc Server NIO Threads: (Cores-2) * 2 = 12 Grpc Server App Threads: 30 Grpc Server Max. Concurrent Calls Per Connection = Grpc Server NIO Threads i.e. 12 RabbitMQ Max. Pool Size = 150 Grpc Client Threadpool size for Submitting RPC Call = 200 Grpc Server Threadpool size to execute business functionality = 200 (Added this threadpool to free Grpc Server App Threads) I have best tried to finetune grpc client and server but still I have seen a slowness while submitting tasks for business functionality execution. I have seen many messages piled up in the rabbitmq queue. This shows threads are busy submitting rpc tasks. Am I wrongly configuring grpc server/client here? On Thursday, October 25, 2018 at 3:49:07 PM UTC+5:30, qplc wrote: > > Hi, > > I've implemented zookeeper balanced grpc server and client. > Following are the execution configuration details: > Grpc Client: > Channel Count: 1 > Boss/Acceptor Thread: 1 > Nio Threads: 100 > Executor/App Threads: 100 > > Grpc Server: > Nio Threads: 100 > Executor/App Threads: 400 > Max conucurrent calls per connection: 100 > > Here, I'm using ForkJoinPool while setting executor. I'm sending messages > on RabbitMQ and forwards to gRPC client. Publisher rate is 10k messages per > 10sec. > > As I've observed each request when reaches server it executes till > 10seconds. And as configured most 400 tasks are getting executed > concurrently at a time. Due to this piling up other 9600 requests as > waiting for application threads to be available. > > This is slowing overall process as piling up the requests and I couldn't > delegate the tasks to other thread pool as executor has already been > dedicated for the same. > > Also, I've given 16gb for application. Increasing the thread count could > help here as I have already given sufficient configuration. > How do I improve the execution faster? > > > Thanks, > qplc > > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/e619cf3a-fc77-486e-ad78-72f9186da003%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] Re: How to implement asynchronous rpc in grpc?
Thanks Carl. I'm trying to use async calls without streaming. On Monday, November 12, 2018 at 5:37:56 PM UTC+5:30, qplc wrote: > > Hi, > > I've implemented below service definition in my grpc server/client > application. > > service TestService { > rpc testRPCCall(stream Test) returns (stream Test) {} > } > > I found below stubs can be implemented on proto file compilation. > TestServiceGrpc.TestServiceStub > TestServiceGrpc.TestServiceBlockingStub > TestServiceGrpc.TestServiceFutureStub > TestServiceGrpc.TestServiceImplBase > > I want to adapt asynchronous behavior of rpc calls. But, I'm not sure > which one of above should be implemented. Is it mandatory to stream a rpc > call(stream Test) as mentioned in above service definition for asynchronous > implementation? > > > Thanks in advance. > > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/36c4724f-466c-4572-a525-35ea18f9db5e%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] Re: How to implement asynchronous rpc in grpc?
Thank you Carl for your response. What if I don't use prefix 'stream' in service definition, shall rpc calls still be executed in asynchronous manner by implementing TestServiceGrpc.TestServiceStub? Modified service def: service TestService { rpc testRPCCall(Test) returns (Test) {} } On Monday, November 12, 2018 at 5:37:56 PM UTC+5:30, qplc wrote: > > Hi, > > I've implemented below service definition in my grpc server/client > application. > > service TestService { > rpc testRPCCall(stream Test) returns (stream Test) {} > } > > I found below stubs can be implemented on proto file compilation. > TestServiceGrpc.TestServiceStub > TestServiceGrpc.TestServiceBlockingStub > TestServiceGrpc.TestServiceFutureStub > TestServiceGrpc.TestServiceImplBase > > I want to adapt asynchronous behavior of rpc calls. But, I'm not sure > which one of above should be implemented. Is it mandatory to stream a rpc > call(stream Test) as mentioned in above service definition for asynchronous > implementation? > > > Thanks in advance. > > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/043d9ef2-5ac4-4a5c-bc2e-c05fd79097ef%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] How to implement asynchronous rpc in grpc?
Hi, I've implemented below service definition in my grpc server/client application. service TestService { rpc testRPCCall(stream Test) returns (stream Test) {} } I found below stubs can be implemented on proto file compilation. TestServiceGrpc.TestServiceStub TestServiceGrpc.TestServiceBlockingStub TestServiceGrpc.TestServiceFutureStub TestServiceGrpc.TestServiceImplBase I want to adapt asynchronous behavior of rpc calls. But, I'm not sure which one of above should be implemented. Is it mandatory to stream a rpc call(stream Test) as mentioned in above service definition for asynchronous implementation? Thanks in advance. -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/c94c3482-c9a7-4f49-aa09-2be32b22f1d6%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] gRPC server executor pool slowing process execution
Hi, I've implemented zookeeper balanced grpc server and client. Following are the execution configuration details: Grpc Client: Channel Count: 1 Boss/Acceptor Thread: 1 Nio Threads: 100 Executor/App Threads: 100 Grpc Server: Nio Threads: 100 Executor/App Threads: 400 Max conucurrent calls per connection: 100 Here, I'm using ForkJoinPool while setting executor. I'm sending messages on RabbitMQ and forwards to gRPC client. Publisher rate is 10k messages per 10sec. As I've observed each request when reaches server it executes till 10seconds. And as configured most 400 tasks are getting executed concurrently at a time. Due to this piling up other 9600 requests as waiting for application threads to be available. This is slowing overall process as piling up the requests and I couldn't delegate the tasks to other thread pool as executor has already been dedicated for the same. Also, I've given 16gb for application. Increasing the thread count could help here as I have already given sufficient configuration. How do I improve the execution faster? Thanks, qplc -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/fec55947-bf60-491e-bad7-967a49585d88%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] Failing rpc calls - INTERNAL_ERROR GO AWAY | Stream 7 sent too many headers EOS: false
Hi I have written grpc client/server. But whenever I'm trying to send a message it is throwing below exception: Request for Test Object has been failed! io.grpc.StatusRuntimeException: INTERNAL: HTTP/2 error code: INTERNAL_ERROR Received Goaway Stream 7 sent too many headers EOS: false Why the above error? Give client/server configuration: grpc.client.app_threads=10 grpc.client.channel_count=1 grpc.client.keep_alive_time= 1 grpc.client.keep_alive_timeout=1 grpc.client.msg_size=2097152 grpc.client.nio_threads=5 grpcclient.zk.base.path=TEST_PERF/peer1 grpc.server.acceptor_threads=1 grpc.server.app_threads=10 grpc.server.conn_max_age=3 grpc.server.conn_max_age_grace=5000 grpc.server.keep_alive_time=1 grpc.server.keep_alive_timeout=1 grpc.server.max_concurr_calls_per_conn=20 grpc.server.msg_size=2097152 grpc.server.nio_threads=5 grpc.server.ip=localhost grpc.server.port=50051 grpcserver.zk.base.path=TEST_PERF/peer1 Can anyone help to know the behavior of the error? Regards, qplc -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/76f1f23f-2f1e-4a66-acc6-df57fde127d7%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] Failing rpc calls
Hi I have written grpc client/server. But whenever I'm trying to send a message it is throwing below exception: Request for Test Object has been failed! io.grpc.StatusRuntimeException: INTERNAL: HTTP/2 error code: INTERNAL_ERROR Received Goaway Stream 7 sent too many headers EOS: false Why the above error? Give client/server configuration: grpc.client.app_threads=10 grpc.client.channel_count=1 grpc.client.keep_alive_time=1 grpc.client.keep_alive_timeout=1 grpc.client.msg_size=2097152 grpc.client.nio_threads=5 grpcclient.zk.base.path=TEST_PERF/peer1 grpc.server.acceptor_threads=1 grpc.server.app_threads=10 grpc.server.conn_max_age=3 grpc.server.conn_max_age_grace=5000 grpc.server.keep_alive_time=1 grpc.server.keep_alive_timeout=1 grpc.server.max_concurr_calls_per_conn=20 grpc.server.msg_size=2097152 grpc.server.nio_threads=5 grpc.server.ip=localhost grpc.server.port=50051 grpcserver.zk.base.path=TEST_PERF/peer1 Regards, Pooja -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/905f7c46-a134-49ea-82f4-c70653b1c26b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] Re: gRPC exception list
One more exception I got in my application is as follows: SEVERE [grpc-server-app-9] io.grpc.internal.SerializingExecutor.run Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@35683b78 java.lang.IllegalStateException: call already closed at com.google.common.base.Preconditions.checkState(Preconditions.java:444) at io.grpc.internal.ServerCallImpl.close(ServerCallImpl.java:172) at io.grpc.stub.ServerCalls$ServerCallStreamObserverImpl.onCompleted(ServerCalls.java:358) at test.example.observer.TestObserver.onCompleted(TestObserver.java:67) at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onHalfClose(ServerCalls.java:259) at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:283) at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:707) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Above exception was thrown while closing stream after successful completion of rpc at server side. But, how to debug for above behavior since the thrown exception isn't seen everytime on stream close action? What could have caused this issue? On Friday, October 5, 2018 at 12:09:18 PM UTC+5:30, qplc wrote: > > Hi, > > Can anyone tell me where to look for all possible exceptions thrown by > grpc server/client? > > Maximum time I have seen below exception: > io.grpc.StatusRuntimeException: INTERNAL: HTTP/2 error code: INTERNAL_ERROR > Received Goaway > > Above exception doesn't give clarity about what could have happened when > it was being thrown. > > > Regards, > qplc > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/0d7249c9-5e2c-42a9-abd5-367f873ea448%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] Re: gRPC exception list
Thanks Mahesh. Is there any document for more specific errors/exceptions? For example if I say error INTERNAL or UNKNOWN has occurred then at first stage where should I start to debug. This is happening due to lack of more detailed information on errors. And it is becoming difficult to drill down further. On Friday, October 5, 2018 at 12:09:18 PM UTC+5:30, qplc wrote: > > Hi, > > Can anyone tell me where to look for all possible exceptions thrown by > grpc server/client? > > Maximum time I have seen below exception: > io.grpc.StatusRuntimeException: INTERNAL: HTTP/2 error code: INTERNAL_ERROR > Received Goaway > > Above exception doesn't give clarity about what could have happened when > it was being thrown. > > > Regards, > qplc > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/8a01484e-78ec-4e7f-9d84-d9df5720df6f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] gRPC exception list
Hi, Can anyone tell me where to look for all possible exceptions thrown by grpc server/client? Maximum time I have seen below exception: io.grpc.StatusRuntimeException: INTERNAL: HTTP/2 error code: INTERNAL_ERROR Received Goaway Above exception doesn't give clarity about what could have happened when it was being thrown. Regards, qplc -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/91c0edaf-a1c6-4a40-ac94-76d9810c0ee9%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] Re: gRPC RPC calls are not working
Thanks Spencer for your reply. I have detected the issue is causing due to netty and guava dependencies. The netty dependencies were getting overridden. If I use latest grpc version 1.15 which comes with guava version 20.0 then it is failing one of my functionality as it requires downgraded guava version it seems. Even guava resolved with grpc version 1.10 is failing one of my business functionality. Is there any way to use latest grpc version and make it compatible with my business functionality with minimal changes? On Friday, September 21, 2018 at 3:47:21 PM UTC+5:30, qplc wrote: > > Hi, > I have implemented gRPC in my applications. > I have created 3 modules: > Module1: Generate protobuf files > Module2: Construct gRPC server > Module3: Construct gRPC client > > Here, I'm using zookeeper for the load balancing. > > Following dependencies have been added to the module1. > > > io.grpc > grpc-protobuf > 1.10.0 > > > io.grpc > grpc-stub > 1.10.0 > > > > Following dependencies have been added to the module2 and Module3. > > com.google.protobuf > protobuf-java > 3.6.1 > > > io.grpc > grpc-netty > 1.10.0 > > > io.grpc > grpc-grpclb > 1.10.0 > jar > > > On application restart both grpc server and client are being connected to > the zookeeper. I can see the grpc server listening on the given port as > well. > > But, getting below error whenever I'm trying to invoke a rpc. > > io.grpc.internal.ManagedChannelImpl$NameResolverListenerImpl$1NamesResolved.run > > [io.grpc.internal.ManagedChannelImpl-1] Unexpected exception from > LoadBalancer > java.lang.NoClassDefFoundError: io/netty/util/AsciiString > at > io.grpc.netty.NettyClientTransport.(NettyClientTransport.java:111) > at > io.grpc.netty.NettyChannelBuilder$NettyTransportFactory.newClientTransport(NettyChannelBuilder.java:517) > at > io.grpc.internal.CallCredentialsApplyingTransportFactory.newClientTransport(CallCredentialsApplyingTransportFactory.java:49) > at > io.grpc.internal.InternalSubchannel.startNewTransport(InternalSubchannel.java:209) > at > io.grpc.internal.InternalSubchannel.obtainActiveTransport(InternalSubchannel.java:188) > at > io.grpc.internal.ManagedChannelImpl$SubchannelImpl.requestConnection(ManagedChannelImpl.java:1130) > at > io.grpc.util.RoundRobinLoadBalancerFactory$RoundRobinLoadBalancer.handleResolvedAddressGroups(RoundRobinLoadBalancerFactory.java:126) > at > io.grpc.internal.ManagedChannelImpl$NameResolverListenerImpl$1NamesResolved.run(ManagedChannelImpl.java:1032) > at io.grpc.internal.ChannelExecutor.drain(ChannelExecutor.java:73) > at > io.grpc.internal.ManagedChannelImpl$4.get(ManagedChannelImpl.java:403) > at io.grpc.internal.ClientCallImpl.start(ClientCallImpl.java:238) > at > io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1.start(CensusTracingModule.java:386) > at > io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1.start(CensusStatsModule.java:679) > at io.grpc.stub.ClientCalls.startCall(ClientCalls.java:293) > at > io.grpc.stub.ClientCalls.asyncStreamingRequestCall(ClientCalls.java:283) > at io.grpc.stub.ClientCalls.asyncBidiStreamingCall(ClientCalls.java:92) > > Can anyone help in this. > > > Regards, > qplc > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/7c0f1153-ee3b-4c0f-92ea-7969aa111d51%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] Re: gRPC RPC calls are not working
Hi Spencer, Yes, I have seen it being loaded. I'm getting below warning. WARN [grpc-server-nio-4] - i.n.c.ChannelInitializer - Failed to initialize a channel. Closing: [id: 0x2744ef6e, /192.168 .48.162:57068 => /192.168.48.162:50051] java.lang.NoClassDefFoundError: io/netty/handler/codec/Headers at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2283) at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:811) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1260) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119) at io.grpc.netty.NettyServerTransport.createHandler(NettyServerTransport.java:221) at io.grpc.netty.NettyServerTransport.start(NettyServerTransport.java:116) at io.grpc.netty.NettyServer$1.initChannel(NettyServer.java:216) at io.netty.channel.ChannelInitializer.channelRegistered(ChannelInitializer.java:69) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered(AbstractChannelHandlerContext.java:133) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRegistered(AbstractChannelHandlerContext.java:119) at io.netty.channel.DefaultChannelPipeline.fireChannelRegistered(DefaultChannelPipeline.java:733) at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:450) at io.netty.channel.AbstractChannel$AbstractUnsafe.access$100(AbstractChannel.java:378) at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:424) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: io.netty.handler.codec.Headers at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1291) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119) ... 21 common frames omitted And it's not working. On Friday, September 21, 2018 at 3:47:21 PM UTC+5:30, qplc wrote: > > Hi, > I have implemented gRPC in my applications. > I have created 3 modules: > Module1: Generate protobuf files > Module2: Construct gRPC server > Module3: Construct gRPC client > > Here, I'm using zookeeper for the load balancing. > > Following dependencies have been added to the module1. > > > io.grpc > grpc-protobuf > 1.10.0 > > > io.grpc > grpc-stub > 1.10.0 > > > > Following dependencies have been added to the module2 and Module3. > > com.google.protobuf > protobuf-java > 3.6.1 > > > io.grpc > grpc-netty > 1.10.0 > > > io.grpc > grpc-grpclb > 1.10.0 > jar > > > On application restart both grpc server and client are being connected to > the zookeeper. I can see the grpc server listening on the given port as > well. > > But, getting below error whenever I'm trying to invoke a rpc. > > io.grpc.internal.ManagedChannelImpl$NameResolverListenerImpl$1NamesResolved.run > > [io.grpc.internal.ManagedChannelImpl-1] Unexpected exception from > LoadBalancer > java.lang.NoClassDefFoundError: io/netty/util/AsciiString > at > io.grpc.netty.NettyClientTransport.(NettyClientTransport.java:111) > at > io.grpc.netty.NettyChannelBuilder$NettyTransportFactory.newClientTransport(NettyChannelBuilder.java:517) > at > io.grpc.internal.CallCredentialsApplyingTransportFactory.newClientTransport(CallCredentialsApplyingTransportFactory.java:49) > at > io.grpc.internal.InternalSubchannel.startNewTransport(InternalSubchannel.java:209) > at > io.grpc.internal.InternalSubchannel.obtainActiveTransport(InternalSubchannel.java:188) > at > io.grpc.internal.ManagedChannelImpl$SubchannelImpl.requestConnection(ManagedChannelImpl.java:1130) > at > io.grpc.util.RoundRobinLoadBalancerFactory$RoundRobinLoadBalancer.handleResolvedAddressGroups(Round
[grpc-io] gRPC RPC calls are not working
Hi, I have implemented gRPC in my applications. I have created 3 modules: Module1: Generate protobuf files Module2: Construct gRPC server Module3: Construct gRPC client Here, I'm using zookeeper for the load balancing. Following dependencies have been added to the module1. io.grpc grpc-protobuf 1.10.0 io.grpc grpc-stub 1.10.0 Following dependencies have been added to the module2 and Module3. com.google.protobuf protobuf-java 3.6.1 io.grpc grpc-netty 1.10.0 io.grpc grpc-grpclb 1.10.0 jar On application restart both grpc server and client are being connected to the zookeeper. I can see the grpc server listening on the given port as well. But, getting below error whenever I'm trying to invoke a rpc. io.grpc.internal.ManagedChannelImpl$NameResolverListenerImpl$1NamesResolved.run [io.grpc.internal.ManagedChannelImpl-1] Unexpected exception from LoadBalancer java.lang.NoClassDefFoundError: io/netty/util/AsciiString at io.grpc.netty.NettyClientTransport.(NettyClientTransport.java:111) at io.grpc.netty.NettyChannelBuilder$NettyTransportFactory.newClientTransport(NettyChannelBuilder.java:517) at io.grpc.internal.CallCredentialsApplyingTransportFactory.newClientTransport(CallCredentialsApplyingTransportFactory.java:49) at io.grpc.internal.InternalSubchannel.startNewTransport(InternalSubchannel.java:209) at io.grpc.internal.InternalSubchannel.obtainActiveTransport(InternalSubchannel.java:188) at io.grpc.internal.ManagedChannelImpl$SubchannelImpl.requestConnection(ManagedChannelImpl.java:1130) at io.grpc.util.RoundRobinLoadBalancerFactory$RoundRobinLoadBalancer.handleResolvedAddressGroups(RoundRobinLoadBalancerFactory.java:126) at io.grpc.internal.ManagedChannelImpl$NameResolverListenerImpl$1NamesResolved.run(ManagedChannelImpl.java:1032) at io.grpc.internal.ChannelExecutor.drain(ChannelExecutor.java:73) at io.grpc.internal.ManagedChannelImpl$4.get(ManagedChannelImpl.java:403) at io.grpc.internal.ClientCallImpl.start(ClientCallImpl.java:238) at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1.start(CensusTracingModule.java:386) at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1.start(CensusStatsModule.java:679) at io.grpc.stub.ClientCalls.startCall(ClientCalls.java:293) at io.grpc.stub.ClientCalls.asyncStreamingRequestCall(ClientCalls.java:283) at io.grpc.stub.ClientCalls.asyncBidiStreamingCall(ClientCalls.java:92) Can anyone help in this. Regards, qplc -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/ed12f364-c35f-420f-952a-3f6edfae135c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] gRPC building server and client
HI, NettyServerBuilder while constructing grpc server: The primary difference between boss and worker event loop group. What is the role of executor, boss and worker event loop group while constructing NettyServerBuilder? NettyChannelBuilder while constructing grpc client: What is the role of executor and event loop group? How are they different from each other? Does the executor persist same role in building grpc server or client? Can someone clear above doubts? Regards, qplc -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/8c42332a-760b-417d-9c8d-09f2c65f1190%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.