Azure / Azure/azure-functions-host
Make multistream capability configurable
- Dominant language
- C#
- Stars
- 2k
- Forks
- 482
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 36
Description
There's a todo item in the GrpcWorkerChannel to make `MultiStream` capability configurable, instead of hardcoded to `10`
```csharp
// advertise that we support multiple streams, and hint at a number; with this flag, we allow
// clients to connect multiple back-hauls *with the same workerid*, and rely on the internal
// plumbing to make sure we don't process everything N times
initRequest.Capabilities.Add(RpcWorkerConstants.MultiStream, "10"); // TODO: make this configurable
```
[Code](https://github.com/Azure/azure-functions-host/blob/a716dd28ac7a2dfa5542e0b8a5b7a5a584683b4d/src/WebJobs.Script.Grpc/Channel/GrpcWorkerChannel.cs#L336)
Contributor guide
Research direction
Start in src/WebJobs.Script.Grpc/Channel/GrpcWorkerChannel.cs around the TODO at line 336 and trace how the MultiStream capability is advertised. Identify the existing configuration path for worker-channel settings; done means the advertised value is configurable rather than hardcoded to 10, with coverage for the resulting capability value.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, grpc
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100