[grpc-io] Re: gRPC server executor pool slowing process execution

2018-11-21 Thread qplc
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

2018-11-20 Thread qplc
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?

2018-11-19 Thread qplc
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?

2018-11-14 Thread qplc
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?

2018-11-12 Thread qplc
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

2018-10-25 Thread qplc
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

2018-10-07 Thread qplc
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

2018-10-07 Thread qplc
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

2018-10-05 Thread qplc
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

2018-10-05 Thread qplc
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

2018-10-05 Thread qplc
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

2018-09-25 Thread qplc
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

2018-09-23 Thread qplc
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

2018-09-21 Thread qplc
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

2018-09-18 Thread qplc
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.