[grpc-io] Re: [gRPC-C++] Using channelZ with OpenTelemetry metrics

2024-05-15 Thread 'yas...@google.com' via grpc.io
Hey Ben, what kind of metrics are you looking for? We already have gRPC metrics exposed via OpenTelemetry. Please take a look at - https://github.com/grpc/proposal/blob/master/A66-otel-stats.md https://github.com/grpc/proposal/blob/master/A78-grpc-metrics-wrr-pf-xds.md On Wednesday, May 15,

[grpc-io] L116: C++-Core: Loosen behavior of GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA

2024-04-25 Thread 'yas...@google.com' via grpc.io
Hey all, https://github.com/grpc/proposal/pull/429 is a proposal to modify the behavior GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA to throttle pings to a frequency of 1 minute instead of completely blocking pings when too many pings have been sent without data/header frames being sent. Comments

[grpc-io] Re: [gRPC-C++] grpc-c++ client seems not to index custom headers to http2 dynamic-table?

2024-04-09 Thread 'yas...@google.com' via grpc.io
gRPC does support HPACK. By grpc-v1100, do you mean gRPC 1.1? That seems like a really old version? Please use the latest release instead. On Friday, March 22, 2024 at 8:53:07 AM UTC-7 A-SaltedFish wrote: > I want to add a custom header in request with C++ client using “ > *Custom-Metadata”,* >

[grpc-io] Re: gRPC build with gcc on macOS fails because of boringssl-with-basel

2024-03-22 Thread 'yas...@google.com' via grpc.io
Do you have `openssl` installed? If that's the case, you don't need boringssl, you can simply specify `-DgRPC_SSL_PROVIDER="package"` to use the installed openssl version. See https://github.com/grpc/grpc/blob/master/cmake/ssl.cmake and https://cmake.org/cmake/help/v3.6/module/FindOpenSSL.html

[grpc-io] Re: Client receives out-of-order stream

2024-03-18 Thread 'yas...@google.com' via grpc.io
This might be something to raise with maintainers of https://github.com/scalapb/zio-grpc. I'm not sure if they monitor this forum. On Tuesday, March 12, 2024 at 6:54:04 PM UTC-7 Xiaokun Luan wrote: > Thanks for your reply, here is a minimal example: >

[grpc-io] Re: Can CVE-2023-33953 be solved by limiting the length of the HTTP header on an earlier version?

2024-03-18 Thread 'yas...@google.com' via grpc.io
I agree with Craig's recommendation to try and upgrade. There have been tons of bug fixes and feature upgrades since grpc 1.0.0. On Monday, March 11, 2024 at 8:48:41 AM UTC-7 Harminder Singh wrote: > Need a solution for Question asked in this ticket. > https://github.com/grpc/grpc/issues/34251

[grpc-io] Re: Need basic help with unexplained steps building on Windows

2024-03-18 Thread 'yas...@google.com' via grpc.io
Running `cmake --help` should give you a list of the available generators. If you have for example, Visual Studio 2022 installed, you should see a line like "Visual Studio 17 2022" or something like that. That should work as well. Very likely, it will work without overriding the default

[grpc-io] gRFC A79: Non-per-call Metrics Architecture

2024-02-23 Thread 'yas...@google.com' via grpc.io
https://github.com/grpc/proposal/pull/421 is a gRFC for describing a cross-language architecture for collecting non-per-call metrics. Feedback welcome. - Yash -- You received this message because you are subscribed to the Google Groups "grpc.io"

[grpc-io] Re: Facing issue to use protobuf in dot net core 6

2024-01-02 Thread 'yas...@google.com' via grpc.io
Are you using https://github.com/protobuf-net/protobuf-net? If so, you might need to raise an issue there. On Wednesday, December 27, 2023 at 10:35:11 PM UTC-8 Utpal Dutta wrote: > Hello, > I am using Protobuff with dotnet core 6. I am creating CRUD operation > through gRPC communication. In

[grpc-io] Re: Looking for organizational/process best practices

2024-01-02 Thread 'yas...@google.com' via grpc.io
This sounds like a topic suited for https://groups.google.com/g/protobuf On Wednesday, December 27, 2023 at 6:20:20 PM UTC-8 Frederic Marand (FGM) wrote: > Hello. > > After teaching a course on protobuf and gRPC in Go, I’ve had requests for > best organizational practices for the use of

[grpc-io] Re: Async C++ server w/multi-threading approach

2023-10-26 Thread 'yas...@google.com' via grpc.io
> C++ gRPC team is working towards or maybe putting more effort in perfecting/optimizing the callback API approach? Yes > 1.- By using the callback API approach, will we be able to serve different users concurrently the same way we do with our current implementation? Yes > 2.- Will we need to

[grpc-io] Re: Async C++ server w/multi-threading approach

2023-10-25 Thread 'yas...@google.com' via grpc.io
We have been recommending using the C++ callback API instead of the completion queue based API since it's easier to use. All performance optimizations that we are working are targeting the callback API. On Thursday, October 19, 2023 at 8:03:42 AM UTC-7 Pedro Alfonso wrote: > Hello, > > First

[grpc-io] gRFC A66: OpenTelemetry Metrics

2023-07-21 Thread 'yas...@google.com' via grpc.io
https://github.com/grpc/proposal/pull/380 is a gRFC for adding OpenTelemetry support to gRPC. Feedback welcome. - Yash -- 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

[grpc-io] Re: Live camera streaming using grpc python

2023-06-07 Thread 'yas...@google.com' via grpc.io
Are you tied to gRPC Python or could you also experiment with another language? On Saturday, June 3, 2023 at 12:16:42 AM UTC-7 Sanket Kumar Mali wrote: > my proto file > > syntax = "proto3"; > > package camera_stream; > > // Camera frame message > message Frame { > bytes frame = 1; > int64

[grpc-io] Re: C++ Client Async write after read

2023-05-31 Thread 'yas...@google.com' via grpc.io
Sorry for the late response. This fell through the cracks. It's fine to have a read and a write active at the same time. It's only problematic to multiple reads or multiple writes at the same time. On Sunday, March 13, 2022 at 2:06:36 PM UTC-7 Trending Now wrote: > Any update please ? > > Le

[grpc-io] Re: Server Threadpool Exhausted

2023-05-31 Thread 'yas...@google.com' via grpc.io
Hi, when wanting such granular control over the threading model, it's better to use the async model. Currently, the CQ based async API is the only API that can serve this purpose. I would've wanted to recommend using the callback API along with the ability to set your own `EventEngine`, but we

[grpc-io] Re: grpc-cpp: Interceptor release plan

2023-05-31 Thread 'yas...@google.com' via grpc.io
Hi, sorry for the late response. We've identified some improvements we want to make to the API, and hence the delay in stabilizing it. We'll be working on this soon though. Please stay posted. On Friday, May 6, 2022 at 1:03:31 AM UTC-7 Luca Dev wrote: > Dear Maintainer of grpc, > > Are there

[grpc-io] Re: Progress indicator for a grpc C++ async or callback service?

2023-05-31 Thread 'yas...@google.com' via grpc.io
The gRPC library does not provide any such mechanism inbuilt, but you could imagine writing a gRPC service that has a pause/resume functionality where it stops serving requests or cancels incoming requests till resume is invoked. On Thursday, March 24, 2022 at 4:15:14 AM UTC-7 Iro Karyoti

[grpc-io] Re: how to check if server is up/down from a client

2023-05-31 Thread 'yas...@google.com' via grpc.io
Sorry for the late reply. >From what I'm reading, health checking is exactly what you want. I don't understand why you don't want to use it. https://github.com/grpc/grpc/blob/master/doc/health-checking.md About using the channel state - Just because a channel is not in the connected state,

[grpc-io] Re: relaying rpcs Calls in grpc C++

2023-05-31 Thread 'yas...@google.com' via grpc.io
https://github.com/grpc/grpc/blob/2892b24eabbb22b2344aba9c3ba84e529017b684/include/grpcpp/generic/generic_stub.h#L114 The generic APIs are what you are looking for. I don't have an exact example for you, but you could use this as a reference for the Generic APIs -

[grpc-io] Re: maximum concurrent streams in cpp

2023-05-31 Thread 'yas...@google.com' via grpc.io
I don't think that you are running into a limit from max concurrent streams. If you haven't explicit set a limit of 15, you are not getting limited by that arg. What are the symptoms that you are seeing? If it is simply a case of only 15 RPCs being served concurrently, I suspect that the issue

[grpc-io] Re: C++: AsyncWrite constraint on completion queue

2023-05-31 Thread 'yas...@google.com' via grpc.io
You would find some examples here - https://github.com/grpc/grpc/tree/master/examples/cpp The documentation would be best found in the headers - https://github.com/grpc/grpc/blob/master/include/grpcpp/support/client_callback.h

[grpc-io] Re: C++: AsyncWrite constraint on completion queue

2023-05-16 Thread 'yas...@google.com' via grpc.io
I'll preface this by saying - Use the C++ callback API. Instead of trying to understand the Async CQ-based API, the callback API should be the choice and is our current recommendation. > Only one write is permissible per stream. So we cannot write another tag on a stream until we receive a

Re: [grpc-io] GRPC Get Server Address

2023-05-01 Thread 'yas...@google.com' via grpc.io
Wow, I forgot to respond to this. Apologies! `ServerContext` does give you `peer()` which I believe is filled with the appropriate address. For security related purposes, we do not recommend that this be used though. You probably want to use a proper authentication mechanism like the ones

[grpc-io] Re: Doubt about "Next" API.

2023-05-01 Thread 'yas...@google.com' via grpc.io
Hi, Wow, I forgot about replying to this. Apologies! You are right in your assumptions. By default, "is going to go to the wire" just means that data has been accepted by the gRPC stack and that gRPC will try to write the data to the socket (or whatever transport mechanism is being used). From

[grpc-io] Re: multiple async clients for route_guide_callback_server example

2023-03-29 Thread 'yas...@google.com' via grpc.io
Could I ask you to create a tracking issue for this on github please? Also if you've got a working solution, contributions to source are welcome :) On Wednesday, March 22, 2023 at 2:52:22 AM UTC-7 Dmitry Gorelov wrote: > Please check the following code, it fixes the crash of the >

[grpc-io] Re: /usr/local/include/google/protobuf/repeated_field.h:145:1: error: invalid application of 'sizeof' to incomplete type 'google::protobuf::__uint128_t'

2023-03-29 Thread 'yas...@google.com' via grpc.io
This might be an environment issue. Can you talk more about where and how you are building your application? On Wednesday, March 22, 2023 at 11:51:48 PM UTC-7 xiaoliang jiao wrote: > I use gRPC 1.53.0-pre1 and protobuf 3.21.12.0. > I can create *.pb.h, *.pb.cc, *.grpc.pb.h, *.grpc.pb.cc files

[grpc-io] Re: Regarding grpc logging [C++]

2023-03-29 Thread 'yas...@google.com' via grpc.io
There are ways to redirect stderr process-wide, but that's probably not what you are looking for. We don't have a C++ API for overriding the default log mechanism. We do have a gRPC Core API to set the logging function though -

[grpc-io] Re: Per ListeningPort network namespace (c++)

2023-03-29 Thread 'yas...@google.com' via grpc.io
gRPC C++ doesn't have a way of doing that. It looks like the way processes switch network namespaces is by using `ip netns exec` but that's not what we want. On Tuesday, March 28, 2023 at 4:11:10 AM UTC-7 Dylan Walsh wrote: > Hey all, > > I was wondering if a single c++ gRPC server has the

[grpc-io] Re: building grpc C++ on AIX

2023-03-29 Thread 'yas...@google.com' via grpc.io
Unfortunately, we don't have CI testing on AIX. Can you try using Bazel instead of CMake? On Tuesday, March 28, 2023 at 8:23:33 PM UTC-7 勿羽 wrote: > Hi Amandeep, > > I'm also trying to compile gRPC on AIX7.2. There are a lot of errors that > I can't figure out. Did you compile successfully? >

[grpc-io] gRFC L104: C++ OpenCensus Plugin Public APIs

2022-10-12 Thread 'yas...@google.com' via grpc.io
Please see https://github.com/grpc/proposal/pull/334 for the proposal. The proposal is to move the APIs that were intended for public usage to `include/grpcpp/opencensus.h` from the current `src/cpp/ext/filter/census/...` -- You received this message because you are subscribed to the Google

[grpc-io] Re: remote grpc server and local client

2022-07-20 Thread 'yas...@google.com' via grpc.io
Yes, you would just use that `:` string as the target when creating the channel. On Monday, July 11, 2022 at 2:19:30 PM UTC-7 srishtik...@gmail.com wrote: > Hi, > Is it possible to connect to remote Grpc Server from client using IP > address.Can anybody suggest how to do that? > -- You

[grpc-io] Re: Grpc with C++ server and C# Client

2022-07-20 Thread 'yas...@google.com' via grpc.io
You need to replace `RELEASE_TAG_HERE` with an actual release tag. `v1.48.0` for example. On Friday, July 8, 2022 at 3:47:54 PM UTC-7 srishtik...@gmail.com wrote: > > I am trying to do a POC where i am trying to make my Site controller > studio on local system written in C# interact with the

[grpc-io] Re: Observed an error trace from grpc core while invoking rpc on client side

2022-07-20 Thread 'yas...@google.com' via grpc.io
Note that the epollex poller has been deleted. On Tuesday, July 19, 2022 at 10:25:05 AM UTC-7 balajisr...@gmail.com wrote: > I have seen the below error trace during rpc gets invoked in the client > side. > > E0108 23:57:39.627493254 13286 ev_epollex_linux.cc:512] Error shutting > down fd 43.

[grpc-io] gRPC-Core Release 1.48.0

2022-07-19 Thread 'yas...@google.com' via grpc.io
This is 1.48.0([g](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)arum) release announcement for gRPC-Core and the wrapped languages C++, C#, Objective-C, Python, PHP and Ruby. Latest release notes are [here](https://github.com/grpc/grpc/releases/tag/v1.48.0). This release

[grpc-io] Re: ssl/tls grpc not available for c++?

2022-02-16 Thread 'yas...@google.com' via grpc.io
Note that you are using `GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE`. In that mode, the server does not request (nor require) client certificates. If you want the server to require client certificates, you could use `GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY` instead of

[grpc-io] Re: C++ header list size violation

2022-02-16 Thread 'yas...@google.com' via grpc.io
The channel arg `GRPC_ARG_MAX_METADATA_SIZE ` serves that purpose. On Thursday, February 10, 2022 at 12:14:16 PM UTC-8 A M wrote: > Hello > > I am getting this error on a

[grpc-io] Re: gRPC Keepalive/idletimeout

2022-01-31 Thread 'yas...@google.com' via grpc.io
1. This would depend on the settings that you've configured for keepalive. Note that this doc is specific to gRPC Core and dependents. 2. Again, for Core and dependents, at present the idle timeout is disabled by default. GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS is the channel arg to specify the modify

[grpc-io] Re: Incoming frame of size N exceeds local window size of 0

2021-12-01 Thread 'yas...@google.com' via grpc.io
It looks like there is a bug around handling of flow control windows either in the client or the server. Based on the error log, I would presume that the server's flow control implementation is buggy. To dig deeper, we would need to look at what flow control updates are being sent. On Monday,

[grpc-io] Re: Cross Language support C++, .NET 4.8, .Net Core...

2021-12-01 Thread 'yas...@google.com' via grpc.io
I don't know of any issues doing this. On Friday, November 19, 2021 at 3:40:58 AM UTC-8 thecpu...@gmail.com wrote: > How feasible is it to have implementations where one end is in: > > * C++ (native) > * C# running .NET 4.8 full framework > * C# running .NET Core 5.0 or later > > And the other

[grpc-io] Re: Some clients can't connect to our server.

2021-12-01 Thread 'yas...@google.com' via grpc.io
That is probably the issue that you are running into. Please refer - https://github.com/grpc/grpc/blob/master/doc/environment_variables.md for the environment variables that gRPC uses. You can override by using the channel arg - GRPC_ARG_ENABLE_HTTP_PROXY and setting it to 0. On Wednesday,

[grpc-io] Re: grpcio_testing code samples

2021-12-01 Thread 'yas...@google.com' via grpc.io
Thank you for the feedback! Do the examples in https://github.com/grpc/grpc/tree/master/examples and https://github.com/grpc/grpc/tree/master/test help? On Tuesday, November 16, 2021 at 6:32:13 AM UTC-8 M T wrote: > Hi all, > > I'm just starting to get into grpc, and was wondering about tests.

[grpc-io] Re: Server restart during client side streaming

2021-12-01 Thread 'yas...@google.com' via grpc.io
I can think of a few ways to achieve this (with keepalives configured ofcourse). One way to detect this would be to perform a `Read()` on the stream. If the channel dies, the stream would die too and the read would fail. On Tuesday, November 16, 2021 at 3:08:46 AM UTC-8 paulin...@gmail.com

[grpc-io] Re: Is this a valid way to multi thread RPC handlers in gRPC async server in C++?

2021-12-01 Thread 'yas...@google.com' via grpc.io
Completion queues are thread-safe. CallData is an application-level construct. gRPC itself won't be accessing the internals of the struct. It just uses it as an opaque pointer. If the application level logic is such that CallData can be accessed from multiple threads, you would need to

[grpc-io] Re: Why GRPC server running on EC2/AWS returns RST_STREAM error for a GET Call?

2021-12-01 Thread 'yas...@google.com' via grpc.io
I think more logs are needed here. From the logs that you did post, it seems like the connection was established but I don't see any details of the RPC itself. Your code doesn't show the RPC either. On Thursday, November 11, 2021 at 5:21:39 PM UTC-8 kiranku...@gmail.com wrote: > GRPC Client

[grpc-io] Re: gRPC client stream error semantics when server is shutdown but TCP connection remains

2021-12-01 Thread 'yas...@google.com' via grpc.io
Having a HTTP/2 proxy in between is muddying the waters for keepalive. I believe istio/envoy have settings for keepalives that you might be able to employ here. If that doesn't work for you either, you might want to consider a custom application level ping. On Tuesday, November 9, 2021 at

[grpc-io] Re: gRPC wait server ready

2021-12-01 Thread 'yas...@google.com' via grpc.io
I think this API is pretty stable and should be promoted. https://github.com/grpc/grpc/pull/28247 On Tuesday, November 9, 2021 at 1:06:03 PM UTC-8 Сергей Соболев wrote: > Hi, everyone! > I'm writing test (with gtest) with grpc similar to the following (in C++ > pseudocode): > > class Fixture {

[grpc-io] Re: Flow Based Load Balancing

2021-12-01 Thread 'yas...@google.com' via grpc.io
I am not sure I completely understand the question but I'll give it a shot. On any new RPC (can either be unary or streaming), after load-balancing is done, gRPC ends up choosing a backend server for that RPC. If there isn't an existing transport connection to that backend, a connection is

[grpc-io] Re: Stream flow control on C++ sync API?

2021-09-23 Thread 'yas...@google.com' via grpc.io
What timeout are you referring to here? Some logs might be helpful here. If by chance, you are referring to keepalives then, `GRPC_ARG_KEEPALIVE_TIME_MS` and `GRPC_ARG_KEEPALIVE_TIMEOUT_MS` are the corresponding channel args. On Friday, August 6, 2021 at 12:26:40 AM UTC-7 tobias.krueger wrote:

[grpc-io] Re: Intermittent Unavailable/Unknown RpcException (C++/C#)

2021-09-23 Thread 'yas...@google.com' via grpc.io
For reference, https://github.com/grpc/grpc/issues/27292 is the related issue On Thursday, August 26, 2021 at 10:09:41 AM UTC-7 Jacob B wrote: > We are using gRPC (version 1.37.1) for our inter-process communication > between our C# process and C++ process. Both processes act as a server and

Re: [grpc-io] Re: Would like to know more details about the binary log.

2021-09-23 Thread 'yas...@google.com' via grpc.io
That is correct. Binary logging is not yet supported in Core based languages. On Monday, August 2, 2021 at 11:26:54 AM UTC-7 Eric Anderson wrote: > I'll let someone else explain more of the state for C-based languages. > > As I understand it, binary logging isn't supported in the C-based >

[grpc-io] Re: grpc c++: how to create async callback client

2021-09-13 Thread 'yas...@google.com' via grpc.io
Hi, If using the callback API, you wouldn't need to create a separate thread for each RPC. The callbacks in the reactor would be automatically invoked by the threads managed by the gRPC library. That being said, if the reactor is going to be blocking for a substantial amount of time, you would

Re: [grpc-io] Re: gRFC A36: xDS-Enabled Servers

2021-09-09 Thread 'yas...@google.com' via grpc.io
ior as part > of https://github.com/grpc/proposal/pull/237 > > On Fri, Apr 30, 2021 at 2:27 PM 'yas...@google.com' via grpc.io < > grp...@googlegroups.com> wrote: > >> Concrete details for the Core/C++ API for creating xDS-enabled servers >> are up at https://githu

[grpc-io] Re: LiveStream Android Camera to Server

2021-09-08 Thread 'yas...@google.com' via grpc.io
https://grpc.io/docs/platforms/android/java/quickstart/ I hope that helps! On Tuesday, September 7, 2021 at 2:00:18 AM UTC-7 tsiau...@gmail.com wrote: > Hi Team, > I am very new in GRPC, > I need to implement android java application for streaming my android > device camera to server with

[grpc-io] Re: Using 0.0.0.0 as server listen address

2021-09-08 Thread 'yas...@google.com' via grpc.io
For C++, the bound port is available in the `selected_port` parameter of the `AddListeningPort` API. On Wednesday, September 1, 2021 at 10:39:11 AM UTC-7 Yuri Golobokov wrote: > Hi, > > Which language are you using for gRPC server? > > On Friday, August 27, 2021 at 12:44:50 PM UTC-7

[grpc-io] Re: gRPC executor threads and timer thread

2021-07-08 Thread 'yas...@google.com' via grpc.io
1. What is the purpose of the timer thread? Throughout the gRPC stack, there are a bunch of deadlines and timeouts that need to be tracked. The way gRPC Core does this is through timers. It schedules a closure to be executed when that timer expires and this closure is run on the timer thread.

[grpc-io] Re: Using async grpc streaming APIs

2021-06-16 Thread 'yas...@google.com' via grpc.io
> Does that mean there shouldn't be any outstanding Writes / Reads when this function is called? Or just that there shouldn't be a call to "Finish" when a call to "Read" or "Write" is in progress (as in multiple threads competing with each other)? I didn't see a problem with an outstanding read

[grpc-io] Re: Use of insecure C functions/API(s)

2021-06-16 Thread 'yas...@google.com' via grpc.io
There is no roadmap to remove them that I am aware of. As for whether these functions are handled safely everywhere, that seems like an alternate way of asking if gRPC has bugs related to this. What I CAN tell you is that the code is continuously tested, and I would imagine that if there was a

[grpc-io] Re: What is the mechanism of Completion Queue?

2021-06-16 Thread 'yas...@google.com' via grpc.io
> However, HandleRpc() only call proceed() once,. It seems we always stay in the PROCESS state. Will it generate the memory leak? No, the same CallData object is used multiple times as a completion queue tag, allowing the state to progress. > What does it mean to have cq->next(, ) return the

[grpc-io] Re: gRFC A36: xDS-Enabled Servers

2021-04-30 Thread 'yas...@google.com' via grpc.io
Concrete details for the Core/C++ API for creating xDS-enabled servers are up at https://github.com/grpc/proposal/pull/234. Please take a look. On Wednesday, January 20, 2021 at 2:41:17 PM UTC-8 Eric Anderson wrote: > Please review and comment. The gRFC is at >

[grpc-io] Re: C++ server stream replies not reaching client

2021-03-24 Thread 'yas...@google.com' via grpc.io
The deserialization happens at the surface layer instead of the transport layer, unless we suspect that HTTP/2 frames themselves were malformed. If we suspect the serialization/deserialization code, we can check if simply serializing the proto to bytes and back is causing issues. Protobuf has

[grpc-io] Re: Python: client side tls credentials reload

2021-03-24 Thread 'yas...@google.com' via grpc.io
I believe the old/current API only allows for tls credentials reloading on the server side. We do have a new API for TLS credentials that will allow for this. It has been developed in gRPC Core and is available for use in gRPC C++. gRPC Python should be able to expose it too. On Tuesday, March

[grpc-io] Re: C++ server stream replies not reaching client

2021-03-24 Thread 'yas...@google.com' via grpc.io
This is pretty strange. It is possible that we are being blocked on flow control. I would check that we are making sure that the application layer is reading. If I am not mistaken, `perform_stream_op[s=0x7f0e16937290]: RECV_MESSAGE` is a log that is seen at the start of an operation meaning

[grpc-io] Re: How to change Channel Arguments After Server start up

2021-03-24 Thread 'yas...@google.com' via grpc.io
No, it's a build time argument. I am curious as to what your use-case is though. On Wednesday, March 17, 2021 at 7:59:43 PM UTC-7 zhan...@gmail.com wrote: > Hi, > Wonder if we can change the channel argument from grpc server side after > server start up ? > > For example, can we change

[grpc-io] Re: Does the lastest grpc c++ version support vxworks?

2020-12-24 Thread 'yas...@google.com' via grpc.io
It is not officially supported (i.e. there is no continuous testing infrastructure set up for this environment) but please don't let that discourage you from trying it out. On Friday, December 4, 2020 at 6:49:39 AM UTC-8 yuan xuan wrote: > Hi, does the lastest grpc c++ version support vxworks

[grpc-io] Re: Using ServerBuilder, how do I tell that the port is in use? (C++)

2020-12-24 Thread 'yas...@google.com' via grpc.io
gRPC Core sets SO_REUSEPORT by default and I believe that's why you are running into this. To disable this, you can set the channel argument GRPC_ARG_ALLOW_REUSEPORT

[grpc-io] Re: How to use SetSocketMutator

2020-12-24 Thread 'yas...@google.com' via grpc.io
Hi, The socket mutator API is usually used to add socket options to fds and not to use a custom endpoint altogether. Currently, gRPC C++ does not provide a public API to use a custom endpoint, so there is no straightforward to do this without getting into the gRPC internals. On Sunday,

[grpc-io] Re: Can sync grpc tell me how many requests are not handled?

2020-12-16 Thread 'yas...@google.com' via grpc.io
That is a really good question! If you set memory limits via the resource quota, there are cases where incoming requests and connections are rejected due to unavailable memory quota. Unfortunately, this is not exposed as any metric right now (if I recall correctly). On Tuesday, December 8,

Re: [grpc-io] flow control problem in GRPC C++ release v1.25.0

2020-12-16 Thread 'yas...@google.com' via grpc.io
That's some really good investigation! Kudos! The transport layer (chttp2) does not really care whether the application is using the async API or the sync API. What matters really is whether there is a thread that is polling the underlying fds. For the sync API, this generally happens through

[grpc-io] Re: Which stream does gRPC log to?

2020-10-01 Thread 'yas...@google.com' via grpc.io
This is how logging is implemented for windows - https://github.com/grpc/grpc/blob/8c142a1d8c66a25598151bf154655da9288ffa5a/src/core/lib/gpr/log_windows.cc#L95 On Tuesday, September 29, 2020 at 10:35:35 AM UTC-7 paulin...@gmail.com wrote: > Hi, > > I've been trying to save the gRPC output to

[grpc-io] Re: How to build a clang memory sanitizer instrumented version of gRPC?

2020-10-01 Thread 'yas...@google.com' via grpc.io
Our current test infrastructure uses bazel for msan tests but earlier we were using Makefile with `CONFIG=msan` which is why I'm surprised that it did not work for you. On Thursday, September 24, 2020 at 12:27:59 PM UTC-7 mandr...@gmail.com wrote: > I would like to instrument some c++ code

[grpc-io] Re: C++ Interceptor for authorization

2020-09-30 Thread 'yas...@google.com' via grpc.io
We've had a similar request/question in https://github.com/grpc/grpc/issues/24017 On Tuesday, September 29, 2020 at 11:03:21 AM UTC-7 ayeg...@gmail.com wrote: > I have a fairly simple use case - check the headers of an incoming RPC > call for a special string indicating authorization to use

[grpc-io] Re: GRPC_ARG_KEEPALIVE_TIME_MS vs GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS

2020-08-05 Thread 'yas...@google.com' via grpc.io
Hi, You are right. It is definitely not user friendly for someone trying to set up keepalives to also have to set GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS. I believe the reason for this is mostly to deal with the fact that pings in gRPC Core can originate via either of 3 methods

[grpc-io] Re: How to Pass a a list of data like array or vector (using repeated in protobuf file) from server to client using stream data.

2020-06-10 Thread 'yas...@google.com' via grpc.io
Hi, It seems like you are looking for help with usage of protobuf for repeated fields. protobuf has pretty good documentations for such stuff - https://developers.google.com/protocol-buffers/docs/reference/cpp-generated#repeatedmessage Hope that helps. Cheers! On Sunday, May 31, 2020 at

[grpc-io] Re: RST_STREAM with error code 2 and grpc_status 13

2020-06-10 Thread 'yas...@google.com' via grpc.io
Hi, Thanks for the feedback, but this is not a gRPC setting. This probably needs to be reported to GKE folks. On Sunday, May 31, 2020 at 3:17:35 AM UTC-7 Thomas Barnekow wrote: > I found the solution. The load balancer was configured with a default > timeout of 30 seconds. > > Based on

[grpc-io] Re: C++ buffered writes in Async client

2020-06-10 Thread 'yas...@google.com' via grpc.io
Admittedly, set_buffer_hint() is not used much, and all it does is to sometimes avoid immediate writes by the HTTP/2 transport in gRPC. Your usecase does not seem one where this behavior is going to be useful. To be clear, a write is considered to be "committed" when it passes flow control in

[grpc-io] Re: Recommendations on possible shared resources in AsyncClient

2020-06-10 Thread 'yas...@google.com' via grpc.io
Hi, I'll try to be as clear and concise as possible. 1) Yes, channel, stub and completion queues can be shared across multiple requests. Other classes such as ClientContext and reader/writer classes would be specific for each request. 2) I would expect the stub to need to remain alive mainly

[grpc-io] Re: C++ buffered writes in Async client

2020-05-28 Thread 'yas...@google.com' via grpc.io
Hi, >From what I understand, it seems that you are getting bottlenecked by the network. You are right that gRPC allows only one outstanding write at any given time but that decision itself probably won't affect the throughput much. If the application does not buffer the messages, it would

[grpc-io] Re: Bare server throughtput limitation?

2020-05-28 Thread 'yas...@google.com' via grpc.io
Hi, Though there is no inherent limitation to the number of requests that a server can handle, the sync processing model has not been the target for performance optimizations. The Async model would be better suited for performance optimizations, and you might be able to increase your

[grpc-io] Re: C++ client interceptor

2020-05-28 Thread 'yas...@google.com' via grpc.io
Hi, Yes, we do want to stabilize the feature. We do not have a specific timeline for doing that at the moment though. On Sunday, May 17, 2020 at 5:45:28 PM UTC-7 ibnada...@gmail.com wrote: > Hi, > > gRPC appears to support C++ client interceptor, however the API is still > under experimental

[grpc-io] Re: Grpc connection semantics

2020-02-26 Thread 'yas...@google.com' via grpc.io
1) An HTTP/2 stream is what you are looking for. A stream can be terminated with a RST_STREAM frame. Please refer https://http2.github.io/http2-spec/#RST_STREAM 2) The RPC would also be terminated. The application would be able to retry/restart the RPC if necessary. 3) Yes 4) The RPCs are

[grpc-io] Re: Grpc proxy with http2 ssl?

2020-02-26 Thread 'yas...@google.com' via grpc.io
Replying on Eric Anderson's behalf, envoy would be a common one. caddy-server should work fine. I don't know much about mitmproxy. On Wednesday, February 19, 2020 at 8:26:28 AM UTC-8 elh.m...@gmail.com wrote: > hi.. is there a simple cross platform grpc proxy i could use (wanting to >

[grpc-io] Re: gRPC binding the socket to a particular interface or device (Something like SO_BINDTODEVICE)

2020-02-26 Thread 'yas...@google.com' via grpc.io
gRPC C++ does not have any API to allow the client to bind to a specific IP address at the moment. On Wednesday, February 26, 2020 at 1:45:15 AM UTC-8 engr.ab...@gmail.com wrote: > My application communicates with gRPC server. Is there any way for gRPC > client to bind to a particular

[grpc-io] Re: What is the purpose of `tcp_handle_write`?

2020-01-21 Thread 'yas...@google.com' via grpc.io
This is a relatively complex piece of code, and it would be hard to explain what each and every line of code does on a forum. Tracing the code would be the fastest way to understand. For the second question, tcp_write is used through the grpc_endpoint_vtable. Effectively, grpc_endpoint_write