Re: [grpc-io] Does every data frame contains exactly one grpc message?

2024-01-22 Thread 'Michael Lumish' via grpc.io
Yes, it is common in bidirectional streaming RPCs for the server to send
messages before the client ends its side of the stream. For example, the
server could respond to each message the client sends with a message,
indefinitely, without the stream ever intentionally closing.

On Mon, Jan 22, 2024 at 1:58 PM Harie Amjari  wrote:

> Ok got it.
>
> I was thinking that in a bidirecttional streaming RPC, the server can
> start sending out replies even before an END STREAM is received (from the
> DATA frame header). So it's like, (1) the server parses one grpc length
> prefixed message, (2) call user defined functions, (3) sends it [one grpc
> message] immediately in a DATA frame without waiting for other messages
> (and even before an END STREAM).
>
> Thanks. That answered my question.
>
> On Tuesday, January 23, 2024 at 1:29:30 AM UTC+8 Michael Lumish wrote:
>
> No. In a stream, the contents of all of the DATA frames sent in one
> direction are collectively treated as a byte stream that contains
> length-delimited gRPC messages, independent of the DATA frame boundaries.
> In other words, any single DATA frame can contain only part of a message,
> or multiple messages, or a combination of those.
>
> On Sun, Jan 21, 2024 at 3:28 PM Harie Amjari  wrote:
>
> Hi!, I read the grpc spec from the github but one thing isn't clear for me:
>
> > The repeated sequence of *Length-Prefixed-Message* items is delivered
> in DATA frames
>
> Does this mean that in a streaming gRPC, a data frame must contain exactly
> one grpc message? Is this enforced?
>
> --
> 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+u...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/grpc-io/237bf62d-180b-4b99-9d73-a2382f163f2dn%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/3fc4d0f1-21c9-4e2d-961d-80bebe37cfb3n%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/CAPK2-4fyEjm41pGaLKgwcZ3VAzDmOP8s9sJSW8AF3uxiY%2B%3D7GA%40mail.gmail.com.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [grpc-io] Does every data frame contains exactly one grpc message?

2024-01-22 Thread Harie Amjari
Ok got it.

I was thinking that in a bidirecttional streaming RPC, the server can start 
sending out replies even before an END STREAM is received (from the DATA 
frame header). So it's like, (1) the server parses one grpc length prefixed 
message, (2) call user defined functions, (3) sends it [one grpc message] 
immediately in a DATA frame without waiting for other messages (and even 
before an END STREAM).

Thanks. That answered my question.

On Tuesday, January 23, 2024 at 1:29:30 AM UTC+8 Michael Lumish wrote:

No. In a stream, the contents of all of the DATA frames sent in one 
direction are collectively treated as a byte stream that contains 
length-delimited gRPC messages, independent of the DATA frame boundaries. 
In other words, any single DATA frame can contain only part of a message, 
or multiple messages, or a combination of those.

On Sun, Jan 21, 2024 at 3:28 PM Harie Amjari  wrote:

Hi!, I read the grpc spec from the github but one thing isn't clear for me:

> The repeated sequence of *Length-Prefixed-Message* items is delivered in 
DATA frames

Does this mean that in a streaming gRPC, a data frame must contain exactly 
one grpc message? Is this enforced?

-- 
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+u...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/237bf62d-180b-4b99-9d73-a2382f163f2dn%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/3fc4d0f1-21c9-4e2d-961d-80bebe37cfb3n%40googlegroups.com.


[grpc-io] Re: What version of c-ares is gRPC running?

2024-01-22 Thread Nicholas Chammas
Looks like the information I'm looking for may be here:

https://github.com/grpc/grpc/tree/v1.60.0/third_party/cares

If I'm understanding this correctly, gRPC 1.60.0 should be running c-ares 
1.19.1.

On Thursday, January 18, 2024 at 8:13:34 PM UTC-5 Nicholas Chammas wrote:

> How can I tell what version of c-ares gRPC is running?
>
> I am running a Spark Connect program which uses gRPC under the hood. I 
> tried enabling some gRPC debug information as follows:
>
> GRPC_TRACE=cares_resolver,cares_address_sorting,dns_resolver 
> GRPC_VERBOSITY=DEBUG python my-script.py
>
> But even though I see log lines related to c-ares, I don't see anything 
> that tells me what version of c-ares is running.
>
> I believe Spark Connect is using gRPC 1.60.0 under the hood, and looking 
> through the source I see mention of c-ares 1.13.0 
> . But 
> this looks like a conditional build instruction, and I am not sure how this 
> translates to my runtime.
>
> So is there any way I can be sure of the version of c-ares that gRPC is 
> running on my system?
>
> Nick
>
>

-- 
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/c09d5c61-373d-4827-9261-c9edc14b99dan%40googlegroups.com.


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

2024-01-22 Thread Dan Cohen
Hello,

I need to build gRPC with gcc on mac. When trying to do so, 
boringssl-with-basel compilation fails with:




*[ 12%] Building ASM object 
third_party/boringssl-with-bazel/CMakeFiles/crypto.dir/apple-aarch64/crypto/chacha/chacha-armv8-apple.S.oclang:
 
error: unsupported option '--noexecstack'make[2]: *** 
[third_party/boringssl-with-bazel/CMakeFiles/crypto.dir/apple-aarch64/crypto/chacha/chacha-armv8-apple.S.o]
 
Error 1make[1]: *** 
[third_party/boringssl-with-bazel/CMakeFiles/crypto.dir/all] Error 2*

This is how my cmake configuration of gRPC looks like:
(running from grpc/cmake/):
cmake -B release -DCMAKE_EXE_LINKER_FLAGS="-ld_classic" 
-DCMAKE_BUILD_TYPE=Release 
-DgRPC_INSTALL=ON -DgRPC_ABSL_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package -DCMAKE_CXX_STANDARD=17 
-DCMAKE_CXX_COMPILER=/opt/homebrew/bin/g++-13 
\
-DCMAKE_C_COMPILER=/opt/homebrew/bin/gcc-13 
-DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_PREFIX_PATH=../../install -S 
../

I've tried several things, including cloning the boringssl-with-basel in a 
separate directory and building it locally (not as part of grpc) but this 
also fails with different reasons.

Is there a standard way to build gRPC on macOs with gcc? or disable the 
offending package from boringssl build?

Thanks,
Dan

Versions
-
cmake: 3.28.0
macOS: Sonoma 14.2.1 (23C71)
Xcode: 15.1.0.0.1.1700200546
gcc: gcc-13 (Homebrew GCC 13.2.0) 13.2.0
clang: Apple clang version 15.0.0 (clang-1500.0.40.1)
grpc: v1.60.0


-- 
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/8d2d4fe2-010f-4ced-91c9-08f4d8bec25cn%40googlegroups.com.


Re: [grpc-io] Does every data frame contains exactly one grpc message?

2024-01-22 Thread 'Michael Lumish' via grpc.io
No. In a stream, the contents of all of the DATA frames sent in one
direction are collectively treated as a byte stream that contains
length-delimited gRPC messages, independent of the DATA frame boundaries.
In other words, any single DATA frame can contain only part of a message,
or multiple messages, or a combination of those.

On Sun, Jan 21, 2024 at 3:28 PM Harie Amjari  wrote:

> Hi!, I read the grpc spec from the github but one thing isn't clear for me:
>
> > The repeated sequence of *Length-Prefixed-Message* items is delivered
> in DATA frames
>
> Does this mean that in a streaming gRPC, a data frame must contain exactly
> one grpc message? Is this enforced?
>
> --
> 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/237bf62d-180b-4b99-9d73-a2382f163f2dn%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/CAPK2-4eynpggEbVdWnepUoWsOjU5Dn81zON%3D6BHnYBOLEgTs_w%40mail.gmail.com.


smime.p7s
Description: S/MIME Cryptographic Signature


[grpc-io] Is hedgingPolicy supported in C++

2024-01-22 Thread Leonid Lazarev
Hello,

Does "hedgingPolicy" is suported for C++ grpc or not?

I see description for hedging in proposal, 
https://github.innominds.com/grpc/proposal/blob/master/A6-client-retries.md, 
but I do not see that the configuration parameters for hedgind are parsed 
in the code. 

I use grpc 1.54.2

Best Regards Leonid Lazarev

-- 
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/299c4f14-f6ee-457c-aa51-1e673cad8b1an%40googlegroups.com.