Re: [grpc-io] gRPC A6: Retries

2017-03-01 Thread 'Eric Gribkoff' via grpc.io
I think the terminology here gets confusing between initial/trailing metadata, gRPC rule names, and HTTP/2 frame types. Our retry design doc was indeed underspecified in regards to dealing with initial metadata, and will be updated. I go over all of the considerations in detail below. For

Re: [grpc-io] 2D array in proto file for C++ grpc

2017-03-14 Thread 'Eric Gribkoff' via grpc.io
If I'm understanding your question correctly, you are asking about setting nested message values in a proto using the C++ API. The protobuf documentation provides an example of doing this at https://developers.google.com/protocol-buffers/docs/cpptutorial#writing-a-message . On Thu, Mar 9, 2017

Re: [grpc-io] gRPC A6: Retries

2017-03-02 Thread 'Eric Gribkoff' via grpc.io
7:20 AM, Mark D. Roth <r...@google.com> wrote: >> >>> On Wed, Mar 1, 2017 at 2:47 PM, 'Eric Gribkoff' via grpc.io < >>> grpc-io@googlegroups.com> wrote: >>> >>>> I think the terminology here gets confusing between initial/trailing >>>

Re: [grpc-io] gRPC A6: Retries

2017-03-02 Thread 'Eric Gribkoff' via grpc.io
On Thu, Mar 2, 2017 at 9:03 AM, 'Eric Anderson' via grpc.io < grpc-io@googlegroups.com> wrote: > On Thu, Mar 2, 2017 at 8:38 AM, Mark D. Roth wrote: > >> On Thu, Mar 2, 2017 at 8:24 AM, Eric Gribkoff >> wrote: >> >>> On Thu, Mar 2, 2017 at 8:15 AM, Mark

Re: [grpc-io] Re: Can someone give me an example with grpc-java and ssl ?

2017-08-16 Thread 'Eric Gribkoff' via grpc.io
TLS is on by default for OkHttp channels. See our android-interop-test app for an example of how to create a secure connection using a test

Re: [grpc-io] One file has both java and javalite version

2017-07-18 Thread 'Eric Gribkoff' via grpc.io
You still need the javalite {} block in both protobuf.plugins and protobuf.generateProtoTasks. I would suggest following these instructions to build the example gRPC Android Hello World app (here is its build.gradle

Re: [grpc-io] 2 Client running on the same machine

2017-07-26 Thread 'Eric Gribkoff' via grpc.io
Hi Fabio, I'm not sure exactly what you mean by the "server side" part when you say both clients are doing a "BIDI stream server side". But two separate clients connected to the same server should work just fine. Do you see anything in the server logs after the first client disconnects? Eric On

Re: [grpc-io] One file has both java and javalite version

2017-07-19 Thread 'Eric Gribkoff' via grpc.io
It's probably not a good idea to try to include your server and Android app in the same project; at the least, you should not be trying to run a gRPC server via Android Studio. You need your server to depend on grpc-netty, and this is not intended/supported for Android. I would suggest creating

Re: [grpc-io] SSL error with GRPC Java

2017-08-09 Thread 'Eric Gribkoff' via grpc.io
This is for an OSGi bundle? It looks like the errors you're getting are internal to Netty, and indicate that your bundle is not correctly adding netty-tcnative to the classpath. I don't have any experience with OSGi, but you may be able to get help with the class loading issue at

Re: [grpc-io] How to access error_details via grpc-java API?

2017-05-12 Thread 'Eric Gribkoff' via grpc.io
You can use the utility method StatusProto#fromThrowable to extract the error details as a com.google.rpc.Status proto. Metadata keys beginning with

Re: [grpc-io] Trouble with java quickstart for grpc: unable to locate branch 1.6.1

2017-09-18 Thread 'Eric Gribkoff' via grpc.io
It should be v1.6.1, not v1.6.2. See https://grpc.io/docs/quickstart/java.html, which says to checkout v1.6.1. Did you find another document saying to use v1.6.2? If so, please let me know the source for that and I will correct it. Thanks, Eric On Mon, Sep 18, 2017 at 9:26 AM, Jeff Gaer

Re: [grpc-io] Re: Trouble with java quickstart for grpc: unable to locate branch 1.6.1

2017-09-18 Thread 'Eric Gribkoff' via grpc.io
I'm not sure why you're unable to checkout the tagged release. It is available on github (https://github.com/grpc/grpc-java/releases/tag/v1.6.1) and the command (git clone -b ...) works for me. Is it possible you're getting a cached version of grpc-java? Thanks, Eric On Mon, Sep 18, 2017 at

Re: [grpc-io] turn off priority flag on java server?

2017-11-07 Thread 'Eric Gribkoff' via grpc.io
Currently there is no way to do this in gRPC Java. The PRIORITY is coming from Netty, and Netty would need to be changed to disable sending it. For now, getting this issue fixed on the grpc/grpc side seems like the correct way forward, and it looks like the C-team is now reviewing the fix in your

Re: [grpc-io] IllegalStateException from SimpleForwardingServerCallListener#onHalfClose

2018-01-09 Thread 'Eric Gribkoff' via grpc.io
Can you provide the IllegalStateException that you're seeing? Is the exception coming from your ServerInterceptor implementation or from the delegate Listener? On Mon, Jan 8, 2018 at 6:46 PM, wrote: > Hi, > > We have a pretty straight forward ServerInterceptor

Re: [grpc-io] What is the minimum android/iOS version that gRPC support?

2018-01-16 Thread 'Eric Gribkoff' via grpc.io
+mxyan for iOS. On Android, we support API levels 14 and up, as this matches the requirement of recent versions of Google Play Services, which is used to obtain an up-to-date TLS1.2 implementation on older phones: see our security doc

[grpc-io] Re: gRPC via USB

2018-02-14 Thread 'Eric Gribkoff' via grpc.io
USB as a transport isn't currently supported. There was a recent discussion around this with further details in https://groups.google.com/forum/?utm_medium=email_source=footer#!msg/grpc-io/rCOTPM65A7U/QkwcLEV3AQAJ Thanks, Eric On Tuesday, February 13, 2018 at 9:44:49 AM UTC-8,

[grpc-io] gRPC Java v1.10.0 Released

2018-02-15 Thread 'Eric Gribkoff' via grpc.io
gRPC Java 1.10.0 is now released and available on Maven Central. v1.11.0 is scheduled for March 26th. Dependencies - Update opencensus to 0.11.0 (#3993 ) Bug fixes - bazel: fix protobuf sha256 (#3924

Re: [grpc-io] Re: tcp connection management

2018-08-08 Thread 'Eric Gribkoff' via grpc.io
There should only be a single TCP connection when sending five unary calls. Can you post a code sample of how you are testing this? It sounds like you might be re-creating the gRPC channel for each call, which would create a separate TCP connection for each RPC. You should create only one channel,

[grpc-io] Re: grpc streaming large file

2018-04-11 Thread 'Eric Gribkoff' via grpc.io
Either approach could be appropriate: dividing the large message into chunks or sending it all in one message (note: gRPC has a default max message size that varies by language but can be configured). Which one performs best for your use case will depend on a number of other factors. There

[grpc-io] Re: How to run Python examples with gRPC built from sources?

2018-04-11 Thread 'Eric Gribkoff' via grpc.io
Build instructions for gRPC Python are located in https://github.com/grpc/grpc/blob/master/src/python/grpcio/README.rst. Thanks, Eric On Saturday, April 7, 2018 at 2:23:39 PM UTC-7, Mohamed Moanis wrote: > > Hi gRPC! > > I have a question about running Python examples and working with gRPC >

Re: [grpc-io] Re: [gRPC-Java] Minimum version of Guava required to work with gRPC.

2018-03-02 Thread 'Eric Gribkoff' via grpc.io
You mention proguard, so I assume you're building for Android? If you're running proguard, you shouldn't be seeing anything like a 2.3MB size from the guava dependency. You can see the proguard configuration for our Android interop test app here:

[grpc-io] Re: crash when running server on a used address

2018-11-07 Thread 'Eric Gribkoff' via grpc.io
This question was also asked on github, so linking to the discussion for future searchers: https://github.com/grpc/grpc/issues/17075 On Wednesday, October 31, 2018 at 10:10:44 AM UTC-7, Stefan Seefeld wrote: > > > Hello, > > I'm using the C++ API to write an RPC server, following the provided

Re: [grpc-io] Re: gRPC Android stub creation best practice? DEADLINE_EXCEEDED but no request made to server

2019-01-17 Thread 'Eric Gribkoff' via grpc.io
On Thu, Jan 17, 2019 at 12:31 PM wrote: > After researching a bit, I believe the issue was that the proxy on the > server was closing the connection after a few minutes of idle time, and the > client ManagedChannel didn't automatically detect that and connect again > when that happened. When

Re: [grpc-io] how do I write tests for my gRPC server? (Python)

2018-12-12 Thread 'Eric Gribkoff' via grpc.io
This was answered on Gitter earlier this week, but reposting my response here for anyone who finds this in the future: We don't have a stand-alone example of unit testing a gRPC service (yet - I > just filed grpc/grpc#17453 ). > The APIs documented at

Re: [grpc-io] Kill server task if client disconnects? (python)

2018-12-18 Thread 'Eric Gribkoff' via grpc.io
On Tue, Dec 18, 2018 at 10:45 AM wrote: > Thanks, Eric. That makes some degree of sense, although there are a few > cases we still won't be able to deal with, I suspect (and we may have > trouble later anyway... in some cases our server program has to shell out > to run a separate program, and

Re: [grpc-io] Kill server task if client disconnects? (python)

2018-12-18 Thread 'Eric Gribkoff' via grpc.io
On Tue, Dec 18, 2018 at 10:17 AM wrote: > Hmm; I'm having some luck looking at the context, which quite happily > changes from is_active() to not is_active() the instant I kill the waiting > client. So I thought I'd proceed with something like > > while not my_future.done(): > if not

Re: [grpc-io] Re: Python Rendezvous exception when running python server, python client and C++ client on the same PC

2019-03-04 Thread 'Eric Gribkoff' via grpc.io
+Lidi Zheng , who will be available for any follow-up questions (it will be easier for him to notice your questions if you include his email address on the "to:" line) Hi Alex, Sorry for the delay. I was not able to reproduce the problem; it looks like you are running on Windows, in which case

Re: [grpc-io] Re: Python Rendezvous exception when running python server, python client and C++ client on the same PC

2019-02-20 Thread 'Eric Gribkoff' via grpc.io
Can you post the code you're using to reproduce this error? If you're using subprocess.Popen (or otherwise using fork+exec) to start the C++ grpc client process, the C++ client itself cannot be interfering with the Python process. Something could be going wrong in the gRPC core fork handlers,

[grpc-io] Re: gRPC-Java v1.26.0 Released

2019-12-19 Thread 'Eric Gribkoff' via grpc.io
I overlooked some items that should have been included in the previous release note email. The entry at https://github.com/grpc/grpc-java/releases/tag/v1.26.0 is now amended, with the following additions: Dependencies - Bump google-auth-library-credentials and

[grpc-io] gRPC-Java v1.26.0 Released

2019-12-18 Thread 'Eric Gribkoff' via grpc.io
gRPC Java 1.26.0 is released and should be available on Maven Central and JCenter. https://github.com/grpc/grpc-java/releases/tag/v1.26.0 Dependencies - Bump protobuf-java to 3.11.0. - Bump protobuf-javalite to 3.11.0. This brings lite in-line with full protobuf. Be aware that the

Re: [grpc-io] configure connect timeout for grpc java client?

2019-12-20 Thread 'Eric Gribkoff' via grpc.io
Do you actually care about the underlying connection backoff attempts of the channel? From your statement about getting an UNAVAILABLE response within 10 seconds, it sounds like you are primarily interested in your RPCs failing when the connection isn't established within a given time period. For

Re: [grpc-io] Huge increase of precompiled native libraries for Android and iOS

2020-02-19 Thread 'Eric Gribkoff' via grpc.io
+Jan Tattermusch , who (I think) knows more about our Unity builds On Wed, Feb 19, 2020 at 10:13 AM 'Jihun Cho' via grpc.io < grpc-io@googlegroups.com> wrote: > we have completely different codebase for ios and android. so, it happened > on both sides sounds interesting. > i can't speak for the

Re: [grpc-io] configure connect timeout for grpc java client?

2019-12-23 Thread 'Eric Gribkoff' via grpc.io
Based on your other post, it sounds like you are using wait for ready. I'm unclear on why the client would be willing to wait, say, 1 minute for a connection to establish but only 15 seconds for the server to respond once it receives the RPC. It would seem more reasonable for the client to have a

Re: [grpc-io] what's the difference between enableRetry and waitForReady?

2019-12-26 Thread 'Eric Gribkoff' via grpc.io
No, if you have configured automatic retries for that error code, it will be automatically retried. The spec for this is at https://github.com/grpc/proposal/blob/master/A6-client-retries.md. Avoiding a callback to the user while the RPC is automatically being tried was a explicit goal of the

Re: [grpc-io] what's the difference between enableRetry and waitForReady?

2019-12-26 Thread 'Eric Gribkoff' via grpc.io
A major difference is that, if retries are enabled, the server can reply with an error code that's been configured as retryable and the client can retry the RPC. On Thu, Dec 26, 2019 at 2:07 AM Elhanan Maayan wrote: > > from my POV those seem to be identical except for the fact that >

Re: [grpc-io] Android DownloadManager with gRPC

2020-03-26 Thread 'Eric Gribkoff' via grpc.io
As a commenter on your StackOverflow question suggested, gRPC is for structured data not raw file downloads. Trying to map between a URI and the RPC call would not be enough to make DownloadManager work with gRPC, because the gRPC server is going to send and expect additional data beyond the raw

Re: [grpc-io] Re: Grpc excessive default memory usage

2020-05-14 Thread 'Eric Gribkoff' via grpc.io
Thanks for the additional information. On Wed, May 13, 2020 at 11:41 PM wrote: > Thanks Eric for the reply. > > Couple of things. I am not able to get this when you say that gRPC java is > not optimized for this type of large file. My individual message size is > 1024 bytes only. The program

Re: [grpc-io] Re: Use Cronet underneath GRPC

2020-09-28 Thread 'Eric Gribkoff' via grpc.io
Hi, Jan is not back just yet but I believe I can largely answer your questions: 1) gRPC C# does not support using Cronet as the underlying transport (at least, I could not find any API in the C# implementation for enabling Cronet, which I'm pretty sure would be a pre-requisite). I'm not aware of

Re: [grpc-io] Under high load, clients get StatusRuntimeException: UNKNOWN: channel closed

2020-07-29 Thread 'Eric Gribkoff' via grpc.io
The first stack trace's cause is truncated so I'm not sure what happened there, but the second includes "at io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1792)" after "

Re: [grpc-io] Under high load, clients get StatusRuntimeException: UNKNOWN: channel closed

2020-07-31 Thread 'Eric Gribkoff' via grpc.io
Hi Ethan, That sounds like a reasonable hypothesis (although I should caveat this with I'm far from an expert on gRPC Netty server best practices). Did you observe any errors or warnings in the server-side logs when this was occurring? By default, a gRPC Netty server will use a cached thread pool

[grpc-io] gRPC-Java 1.31.0 Released

2020-07-30 Thread 'Eric Gribkoff' via grpc.io
gRPC Java 1.31.0 is released and available on Maven Central. The release should be available on JCenter shortly. *gRPC Java 1.31.0 Release Notes* API Changes - api: ManagedChannelBuilder.nameResolverFactory is now marked deprecated. It has long been our plan to remove the function, but

Re: [grpc-io] Re: (grpc-java) Detecting client network disconnect and connect

2021-01-20 Thread 'Eric Gribkoff' via grpc.io
I believe that https://grpc.github.io/grpc-java/javadoc/io/grpc/ManagedChannel.html#getState-boolean- and https://grpc.github.io/grpc-java/javadoc/io/grpc/ManagedChannel.html#notifyWhenStateChanged-io.grpc.ConnectivityState-java.lang.Runnable- are the APIs that you are looking for. Thanks, Eric

Re: [grpc-io] gRPC-Java method overloading

2021-01-20 Thread 'Eric Gribkoff' via grpc.io
Assuming that you are asking about overloading the method names defined in your service's proto file, this StackOverflow question and answer addresses this issue: https://stackoverflow.com/questions/65034685/is-it-possible-the-grpc-functions-overloading/65034755#65034755 Thanks, Eric On Sat,

[grpc-io] gRPC-Java v1.35.0 Released

2021-01-13 Thread 'Eric Gribkoff' via grpc.io
gRPC Java 1.35.0 is released and should be available on Maven Central and JCenter. https://github.com/grpc/grpc-java/releases/tag/v1.35.0 Bug Fixes - core: Fix CompositeChannelCredentials to no longer use CallCredentials for OOB channels. OOB channels are available for load balancing

[grpc-io] gRPC-Java 1.38.0 released

2021-05-19 Thread 'Eric Gribkoff' via grpc.io
gRPC Java 1.38.0 is released and is available on Maven Central. https://github.com/grpc/grpc-java/releases/tag/v1.38.0 API Changes - services: move classes with protobuf dependency into io.grpc.protobuf.services. Users currently using BinaryLogging, HealthChecking, Channelz should

Re: [grpc-io] Re: Bi-directional Streams with Multithreads-JAVA

2021-05-26 Thread 'Eric Gribkoff' via grpc.io
Hi, It sounds like you are trying to send multiple messages for a unary RPC, which results in the "Too many responses" error. The distinction between unary-response and server-streaming RPC here is about the semantics of the service - namely, how many responses the server can send - and not