PlatformLab / grpc_homa

Allows Homa to be used as a transport with gRPC.
27 stars 5 forks source link

New api #3

Closed danmanj closed 2 years ago

danmanj commented 2 years ago

This pull request concerns using completion cookies instead of hash tables to manage pending RPCs, and support for IPv6.

It depends on the code from https://github.com/PlatformLab/HomaModule/pull/11

danmanj commented 2 years ago

To me this sounds like a reason to put streaming RPCs into homa, instead of bolting it on in user space.

Maybe we should work on getting the grpc_homa unit tests easier to run.

danmanj commented 2 years ago

So I just discovered that with the Mutex left in place this causes TSAN errors.

danmanj commented 2 years ago

Sounds like a reason to put streaming RPCs into homa, instead of bolting it on in user space.

On Fri, Sep 16, 2022 at 9:44 AM John Ousterhout @.***> wrote:

@.**** commented on this pull request.

Unfortunately, it doesn't work to remove the client RPC hash table and use completion cookies instead. It works with simple RPCs, but not with streaming. If the server sends a stream of responses back to the client, only one of them will be a reply to the original RPC; the others will be requests. These requests arrive with a null cookie, so the client can't connect to the RPC's stream. With the current commit this causes core dumps.

— Reply to this email directly, view it on GitHub https://github.com/PlatformLab/grpc_homa/pull/3#pullrequestreview-1110958504, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUGCQSJDUCVZMTJHTINNO2DV6SPXBANCNFSM6AAAAAAQL3Z7UU . You are receiving this because you authored the thread.Message ID: @.***>