Re: [grpc-io] Seeing error while installing grpcio-tools ==1.18.0

2024-05-28 Thread Ramana Reddy
It seems to the python code has been changed a lot and could not able to
compile with python3.12

  grpc_tools/_protoc_compiler.cpp:1856:25: error: ‘PyThreadState’ {aka
‘struct _ts’} has no member named ‘curexc_value’
   1856 | tmp_value = tstate->curexc_value;
| ^~~~
  grpc_tools/_protoc_compiler.cpp:1857:22: error: ‘PyThreadState’ {aka
‘struct _ts’} has no member named ‘curexc_traceback’
   1857 | tmp_tb = tstate->curexc_traceback;
|  ^~~~
  grpc_tools/_protoc_compiler.cpp:1858:13: error: ‘PyThreadState’ {aka
‘struct _ts’} has no member named ‘curexc_type’
   1858 | tstate->curexc_type = type;
| ^~~
  grpc_tools/_protoc_compiler.cpp:1859:13: error: ‘PyThreadState’ {aka
‘struct _ts’} has no member named ‘curexc_value’
   1859 | tstate->curexc_value = value;
| ^~~~
  grpc_tools/_protoc_compiler.cpp:1860:13: error: ‘PyThreadState’ {aka
‘struct _ts’} has no member named ‘curexc_traceback’
   1860 | tstate->curexc_traceback = tb;
| ^~~~

On Tue, May 28, 2024 at 11:54 PM Richard Belleville 
wrote:

> Ramana, this message implies a compilation issue. Search higher in the
> logs for the string "error: ". It's likely that you simply need to install
> a build dependency.
>
> Thanks,
> Richard Belleville
>
> On Tue, May 28, 2024 at 10:06 AM Ramana Reddy  wrote:
>
>> We are trying to install python3 -m pip install grpcio==1.18.0 on the
>> Ubuntu 24.04 machine with python3.12. But we seeing the following error:
>>
>>   self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
>> File
>> "/usr/lib/python3/dist-packages/setuptools/_distutils/unixccompiler.py",
>> line 187, in _compile
>>   raise CompileError(msg)
>>   distutils.errors.CompileError: command
>> '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
>>
>>   [end of output]
>>
>>   note: This error originates from a subprocess, and is likely not a
>> problem with pip.
>>   ERROR: Failed building wheel for grpcio
>>   Running setup.py clean for grpcio
>> Failed to build grpcio
>> ERROR: Could not build wheels for grpcio, which is required to install
>> pyproject.toml-based projects
>>
>> This is the case with installing grpcio == 1.48.1 as well.
>>
>> How we can install old versions ( other than the default versions) in the
>> system.
>>
>> We can build these grpcto-tools and grpc-io from the grpc source as well.
>> In that process, grpcio-tools bring a protoful version from the cached
>> wheel. How can I specify the protobuf version( this should be reflected
>> here: python3 -m grpc.tools.protoc --version)  which I installed on the
>> system. We have been using the old protoc and protobuf-c and want to use
>> the same for sometime and trying to bring the compatible grpcio and
>> grpcio-tools
>>
>> Thanks & Regards,
>> Ramana
>>
>> --
>> 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 view this discussion on the web visit
>> https://groups.google.com/d/msgid/grpc-io/CAL2CrsMmeJmzu6axTZW987pYG-ZRyAXKRfC7gtJb1-51gjoQmQ%40mail.gmail.com
>> 
>> .
>>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CAL2CrsPBv%3DzWyrpukdALMXdMn0eS_uLjyaZ2SPqcCVrHfK3SZQ%40mail.gmail.com.


Re: [grpc-io] Seeing error while installing grpcio-tools ==1.18.0

2024-05-28 Thread Ramana Reddy
Thanks, I'll check it out.

On Tue, May 28, 2024 at 11:54 PM Richard Belleville 
wrote:

> Ramana, this message implies a compilation issue. Search higher in the
> logs for the string "error: ". It's likely that you simply need to install
> a build dependency.
>
> Thanks,
> Richard Belleville
>
> On Tue, May 28, 2024 at 10:06 AM Ramana Reddy  wrote:
>
>> We are trying to install python3 -m pip install grpcio==1.18.0 on the
>> Ubuntu 24.04 machine with python3.12. But we seeing the following error:
>>
>>   self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
>> File
>> "/usr/lib/python3/dist-packages/setuptools/_distutils/unixccompiler.py",
>> line 187, in _compile
>>   raise CompileError(msg)
>>   distutils.errors.CompileError: command
>> '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
>>
>>   [end of output]
>>
>>   note: This error originates from a subprocess, and is likely not a
>> problem with pip.
>>   ERROR: Failed building wheel for grpcio
>>   Running setup.py clean for grpcio
>> Failed to build grpcio
>> ERROR: Could not build wheels for grpcio, which is required to install
>> pyproject.toml-based projects
>>
>> This is the case with installing grpcio == 1.48.1 as well.
>>
>> How we can install old versions ( other than the default versions) in the
>> system.
>>
>> We can build these grpcto-tools and grpc-io from the grpc source as well.
>> In that process, grpcio-tools bring a protoful version from the cached
>> wheel. How can I specify the protobuf version( this should be reflected
>> here: python3 -m grpc.tools.protoc --version)  which I installed on the
>> system. We have been using the old protoc and protobuf-c and want to use
>> the same for sometime and trying to bring the compatible grpcio and
>> grpcio-tools
>>
>> Thanks & Regards,
>> Ramana
>>
>> --
>> 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 view this discussion on the web visit
>> https://groups.google.com/d/msgid/grpc-io/CAL2CrsMmeJmzu6axTZW987pYG-ZRyAXKRfC7gtJb1-51gjoQmQ%40mail.gmail.com
>> 
>> .
>>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CAL2CrsPxd7%2BVXWR2Jq5GxpTBiHx0-tCgZmxv7%3Dtq3qjEej2jJA%40mail.gmail.com.


Re: [grpc-io] Seeing error while installing grpcio-tools ==1.18.0

2024-05-28 Thread 'Richard Belleville' via grpc.io
Ramana, this message implies a compilation issue. Search higher in the logs
for the string "error: ". It's likely that you simply need to install a
build dependency.

Thanks,
Richard Belleville

On Tue, May 28, 2024 at 10:06 AM Ramana Reddy  wrote:

> We are trying to install python3 -m pip install grpcio==1.18.0 on the
> Ubuntu 24.04 machine with python3.12. But we seeing the following error:
>
>   self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
> File
> "/usr/lib/python3/dist-packages/setuptools/_distutils/unixccompiler.py",
> line 187, in _compile
>   raise CompileError(msg)
>   distutils.errors.CompileError: command
> '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
>
>   [end of output]
>
>   note: This error originates from a subprocess, and is likely not a
> problem with pip.
>   ERROR: Failed building wheel for grpcio
>   Running setup.py clean for grpcio
> Failed to build grpcio
> ERROR: Could not build wheels for grpcio, which is required to install
> pyproject.toml-based projects
>
> This is the case with installing grpcio == 1.48.1 as well.
>
> How we can install old versions ( other than the default versions) in the
> system.
>
> We can build these grpcto-tools and grpc-io from the grpc source as well.
> In that process, grpcio-tools bring a protoful version from the cached
> wheel. How can I specify the protobuf version( this should be reflected
> here: python3 -m grpc.tools.protoc --version)  which I installed on the
> system. We have been using the old protoc and protobuf-c and want to use
> the same for sometime and trying to bring the compatible grpcio and
> grpcio-tools
>
> Thanks & Regards,
> Ramana
>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/grpc-io/CAL2CrsMmeJmzu6axTZW987pYG-ZRyAXKRfC7gtJb1-51gjoQmQ%40mail.gmail.com
> 
> .
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CAOew_sFaviDzVDeRpapEftcJeM0SnfQ9RMQiupG2iaSS4wZ5TQ%40mail.gmail.com.


[grpc-io] Seeing error while installing grpcio-tools ==1.18.0

2024-05-28 Thread Ramana Reddy
We are trying to install python3 -m pip install grpcio==1.18.0 on the
Ubuntu 24.04 machine with python3.12. But we seeing the following error:

  self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
File
"/usr/lib/python3/dist-packages/setuptools/_distutils/unixccompiler.py",
line 187, in _compile
  raise CompileError(msg)
  distutils.errors.CompileError: command
'/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1

  [end of output]

  note: This error originates from a subprocess, and is likely not a
problem with pip.
  ERROR: Failed building wheel for grpcio
  Running setup.py clean for grpcio
Failed to build grpcio
ERROR: Could not build wheels for grpcio, which is required to install
pyproject.toml-based projects

This is the case with installing grpcio == 1.48.1 as well.

How we can install old versions ( other than the default versions) in the
system.

We can build these grpcto-tools and grpc-io from the grpc source as well.
In that process, grpcio-tools bring a protoful version from the cached
wheel. How can I specify the protobuf version( this should be reflected
here: python3 -m grpc.tools.protoc --version)  which I installed on the
system. We have been using the old protoc and protobuf-c and want to use
the same for sometime and trying to bring the compatible grpcio and
grpcio-tools

Thanks & Regards,
Ramana

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CAL2CrsMmeJmzu6axTZW987pYG-ZRyAXKRfC7gtJb1-51gjoQmQ%40mail.gmail.com.


[grpc-io] Re: grpc 1.62 performance regression compared with 1.55

2024-05-28 Thread 'Eugene Ostroukhov' via grpc.io
Please file an issue on GitHub 

 for 
the team to take a look.

On Wednesday, May 22, 2024 at 9:10:15 PM UTC-7 Yunhao Bai wrote:

> Recently, we are performing performance test on gRPC server receiving 
> unary RPC request. We are performing the test on a 48 core server machine 
> with CPU E5-2650 2.20gHZ. We see that after we upgrade the grpc version 
> from 1.55 to 1.62, we see a performance drop pretty large:
> [image: 332629144-d17064dc-5c25-47fa-903e-6b588c3ebe4f.png]
> We followed the qps way to implement the server, and the client will send 
> unary rpc on a fix interval. we check the RPC response time for all the 
> unary requests. See code here:
> perf test repo 
> The throughput for grpc 1.62 should be similar to that of grpc 1.55 (with 
> default-executor). But there is about 20% throughput drop compared with 
> grpc 1.55 (with default-executor). Why there is a large performance drop 
> when the server is saturated on grpc 1.55?
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/a1871db0-6338-4587-bfa6-8a6cd8675dc9n%40googlegroups.com.


[grpc-io] Re: Regarding the protoc version coming with protobuf-compiler and grpcio-tools

2024-05-28 Thread 'Eugene Ostroukhov' via grpc.io
One should use the protoc and protobuf that comes with the gRPC version 
they use. Source files generated by a specific protoc version may require 
specific protobuf API that would make them incompatible with a different 
protobuf version.

On Sunday, May 26, 2024 at 8:48:16 PM UTC-7 Ramana Reddy wrote:

> Dear GRPC community,
>
> I have seen different versions of protoc in ubuntu 24 with 
> protobuf-compiler and grpcio-tools, and need to understand 
> how these protoc versions are different and how these different versions 
> are related? If I want to compile grpcio-tools with old protobuf-compiler, 
> where should I change in the grpcio-tools. grpc.tools.protoc version 26.1 
> means 3.26.1? 
>
> # /usr/bin/protoc --version
> libprotoc 3.21.12
> # python3 -m grpc.tools.protoc --version
> libprotoc 26.1
> # dpkg -S /usr/bin/protoc
> protobuf-compiler: /usr/bin/protoc
>
> We are using the old protobuf and that is not compatible with the 
> grpcio-tools protobuf version in the upstream. Hence need to compile from 
> source and link to old protobuf in grpcio-tools. Is it the case now that 
> both grpcio-tools and grpc should be the same version?
>
> Looking forward to hearing from you,
> Regards,
> Ramana
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/9dccb46a-8696-482c-a497-c791d6fb1db3n%40googlegroups.com.


Re: [grpc-io] Error with building io.grpc.ManagedChannelRegistry

2024-05-28 Thread 'Eric Anderson' via grpc.io
The problem here is maven-assembly-plugin breaks SPI "services," because by
default it fails to combine some magic files together. This causes the dns
name resolver to not be found, and can prevent some transports and load
balancers also to not be found.

You need to configure it to use the metaInf-services handler. See
https://stackoverflow.com/a/49689041/4690866 (you can ignore the
metaInf-spring and plexus parts).

On Wed, May 22, 2024 at 9:03 AM 'Akash Sinha' via grpc.io <
grpc-io@googlegroups.com> wrote:

> Hello Everyone,
>
> I am trying to build a JAVA based gRPC client that tries to communicate
> with Python based gRPC server. I am getting the following exception when I
> run the code from terminal using the JAR file.
>
> Exception in thread "main"
> io.grpc.ManagedChannelRegistry$ProviderNotFoundException:
> io.grpc.netty.shaded.io.grpc.netty.NettyChannelProvider: does not support 1
> or more of [class
> io.grpc.netty.shaded.io.netty.channel.unix.DomainSocketAddress]
>
> at
> io.grpc.ManagedChannelRegistry.newChannelBuilder(ManagedChannelRegistry.java:204)
>
> at
> io.grpc.ManagedChannelRegistry.newChannelBuilder(ManagedChannelRegistry.java:155)
>
> at io.grpc.Grpc.newChannelBuilder(Grpc.java:101)
>
> The error happens while executing the following code:
> String target = "localhost:"+port;
>
> ManagedChannel channel = Grpc.newChannelBuilder(target,
> InsecureChannelCredentials.create()).build();
>
> However, the code runs fine when running the main class from the IDE. I
> have created the fat jar file using maven. Following is my pom.xml file.
>
> 
> http://maven.apache.org/POM/4.0.0";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
> 4.0.0
>
> org.example
> DummyEnv
> 1.0-SNAPSHOT
> 
> 
> io.grpc
> grpc-netty-shaded
> 1.63.0
> runtime
> 
> 
> io.grpc
> grpc-protobuf
> 1.63.0
> 
> 
> io.grpc
> grpc-stub
> 1.63.0
> 
>  
> org.apache.tomcat
> annotations-api
> 6.0.53
> provided
> 
>
>
> 
> 
> 21
> 21
> UTF-8
> 
>
> 
> 
> 
> kr.motd.maven
> os-maven-plugin
> 1.7.1
> 
> 
> 
> 
> org.xolstice.maven.plugins
> protobuf-maven-plugin
> 0.6.1
> 
>  >com.google.protobuf:protoc:3.25.1:exe:${os.detected.classifier} protocArtifact>
> grpc-java
>  >io.grpc:protoc-gen-grpc-java:1.63.0:exe:${os.detected.classifier} pluginArtifact>
> 
> 
> 
> 
> compile
> compile-custom
> 
> 
> 
> 
>
> 
> org.apache.maven.plugins
> maven-assembly-plugin
> 3.7.1
> 
> 
> jar-with-dependencies
> 
> 
> 
> 
> assemble-all
> package
> 
> single
> 
> 
> 
> 
> 
> 
> 
>
> Can someone please help me in debugging this issue?
>
> Thanks :)
>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/grpc-io/4ab9aa81-5fb5-4176-91eb-298ee6e55dbcn%40googlegroups.com
> 
> .
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CA%2B4M1oOqWp-8UB9_Yq74CSst1tvaS%2BoqN1bDrjCrJWcY6qsC2w%40mail.gmail.com.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [grpc-io] Re: Announcing gRPC-Rust

2024-05-28 Thread Ђорђе Милановић
Hi team, 

could you provide an estimate on when the official library might be ready 
for the release? 
Understanding the timeline would really help with our project planning. 

Thanks, in advance!
Djordje Milanovic
понедељак, 22. април 2024. у 18:57:20 UTC+2 Doug Fawley је написао/ла:

> On Wed, Apr 3, 2024 at 8:55 PM Daz Wilkin  wrote:
>
>> I'm curious as to what it means for Google (gRPC team) to contribute (!?) 
>> to tonic and why this is necessary.
>>
>
> gRPC is a CNCF  project 
> .  Google significantly funds it, but 
> it is OSS-first.  Tonic is a different OSS project which is more 
> independent.  The plan is to contribute a new channel and server 
> implementation into the tonic repo, utilizing tonic's "generic" gRPC 
> implementation, and also to move tonic to the gRPC organization on github 
>  (probably with the repo name "grpc-rust").  We 
> will be using the "grpc" crates.io name  which 
> the previous owner Stepan Koltsov  was 
> gracious enough to donate to the project as well.
>
> Presumably it results from Google's own increased adoption of Rust. 
>> Hopefully, it will lead to Google Cloud providing Cloud Client libraries in 
>> Rust too ;-)
>>
>
> We certainly hope so too!  :)
>  
>
>> Small gripe: that you are only soliciting adopters who are corporate 
>> developers (with a "company" and a "role/title")
>>
>
> That was not our intent.  Feel free to enter anything into these fields 
> that you feel is appropriate.  (E.g. "independent" and "developer".)
>
> On Wed, Apr 17, 2024 at 2:59 PM Amelia  wrote:
>
>> I'm very excited for this! Is the idea to replace tonic? Fork it? Will 
>> you be working together with the protobuf team as they implement native 
>> rust support (https://github.com/protocolbuffers/protobuf/tree/main/rust)? 
>> Will the official gRPC implementation include support for common ecosystem 
>> packages like tower?
>
>
> As mentioned above, the goal is ultimately to replace the channel and 
> server parts, since there are some API changes that will be needed in order 
> to bring in the complete gRPC feature set.  We're still very early in 
> design, so it's unclear exactly how all of it will look.  Using tower, 
> specifically, seems to involve some trade-offs and I'm not yet ready to 
> commit either way until I understand them more.
>
> Thanks,
> Doug
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/b6f068f8-b4b4-4ed9-b301-3e7b3622f9acn%40googlegroups.com.


[grpc-io] Re: Error with building io.grpc.ManagedChannelRegistry

2024-05-28 Thread 'Kannan Jayaprakasam' via grpc.io
In io.grpc.internal.ManagedChannelImplBuilder 

 it 
does a
  *provider = 
nameResolverRegistry.getProviderForScheme(targetUri.getScheme());*
The NameResolverRegistry has 2 entries when I tried with localhost url: 
"dns" -> DnsNameResolverProvider and "unix" -> UdsNameResolverProvider.

For *localhost *java.net.URI getScheme will return null so the 
ManagedChannelImplBuilder will fallback 

 to 
the default scheme. The default scheme is taken from the name resolver 
provider with the highest priority which is *DnsNameResolverProvider *in 
this case, whose scheme is *dns.*
In your case when you run from the command line apparently only the 
*UdsNameResolverProvider* gets registered but not the *DnsNameResolverProvider, 
*and produces a socket address type not supported by Netty.

Can you run with fine logging enabled so that it prints why a name resolver 
provider could not be loaded here 

?


On Wednesday, May 22, 2024 at 9:33:43 PM UTC+5:30 Akash Sinha wrote:

> Hello Everyone, 
>
> I am trying to build a JAVA based gRPC client that tries to communicate 
> with Python based gRPC server. I am getting the following exception when I 
> run the code from terminal using the JAR file.  
>
> Exception in thread "main" 
> io.grpc.ManagedChannelRegistry$ProviderNotFoundException: 
> io.grpc.netty.shaded.io.grpc.netty.NettyChannelProvider: does not support 1 
> or more of [class 
> io.grpc.netty.shaded.io.netty.channel.unix.DomainSocketAddress]
>
> at 
> io.grpc.ManagedChannelRegistry.newChannelBuilder(ManagedChannelRegistry.java:204)
>
> at 
> io.grpc.ManagedChannelRegistry.newChannelBuilder(ManagedChannelRegistry.java:155)
>
> at io.grpc.Grpc.newChannelBuilder(Grpc.java:101)
>
> The error happens while executing the following code: 
> String target = "localhost:"+port;
>
> ManagedChannel channel = Grpc.newChannelBuilder(target, 
> InsecureChannelCredentials.create()).build(); 
>
> However, the code runs fine when running the main class from the IDE. I 
> have created the fat jar file using maven. Following is my pom.xml file. 
>
> 
> http://maven.apache.org/POM/4.0.0";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
> 4.0.0
>
> org.example
> DummyEnv
> 1.0-SNAPSHOT
> 
> 
> io.grpc
> grpc-netty-shaded
> 1.63.0
> runtime
> 
> 
> io.grpc
> grpc-protobuf
> 1.63.0
> 
> 
> io.grpc
> grpc-stub
> 1.63.0
> 
>  
> org.apache.tomcat
> annotations-api
> 6.0.53
> provided
> 
>
>
> 
> 
> 21
> 21
> UTF-8
> 
>
> 
> 
> 
> kr.motd.maven
> os-maven-plugin
> 1.7.1
> 
> 
> 
> 
> org.xolstice.maven.plugins
> protobuf-maven-plugin
> 0.6.1
> 
>  >com.google.protobuf:protoc:3.25.1:exe:${os.detected.classifier} protocArtifact>
> grpc-java
>  >io.grpc:protoc-gen-grpc-java:1.63.0:exe:${os.detected.classifier} pluginArtifact>
> 
> 
> 
> 
> compile
> compile-custom
> 
> 
> 
> 
>
> 
> org.apache.maven.plugins
> maven-assembly-plugin
> 3.7.1
> 
> 
> jar-with-dependencies
> 
> 
> 
> 
> assemble-all
> package
> 
> single
> 
> 
> 
> 
> 
> 
> 
>
> Can someone please help me in debugging this issue? 
>
> Thanks :) 
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/120f281f-4dd7-4e50-814f-72bd478e5d70n%40googlegroups.com.


[grpc-io] Protection against flooding a service

2024-05-28 Thread 'Vojtěch Fried' via grpc . io
Hello,
I have a python service and a c++ client. The client produces data and is 
very fast. The service is writing data to some external db and is 
relatively slow. I am using a client-to-server stream method (called 
SendData). So it is easy to overwhelm the service.

The question is is there any protection that prevents the service to go out 
of memory? I did a small experiment and it seems that if the client is 
flooding the service (at least if it uses the synchronous c++ API), gRPC 
eventually blocks the client (in ClientWriter::Write) and lets the server 
catch up. After the server does some progress, the client is unblocked 
again and continues.

I am happy, that something like this is in place, but I have no idea where 
it comes from. Does anyone know any details about how this works? Is it 
documented? On what layer does it work? Is it configurable? I read about 
retries and server pushback, but it seems with streaming they are not 
usable, so it is probably not it.

Vojtech

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/435ea361-4045-4f20-b87a-421dd0cc9884n%40googlegroups.com.