Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

veneur-proxy: Add option for GRPC streaming to veneur-global #2

Merged

Conversation

marvelm
Copy link

@marvelm marvelm commented Dec 2, 2022

Context

I've switched the veneur pipeline in our production clusters to using gRPC in order to address a bug. Unfortunately, in large clusters the batches produced by veneur are significantly larger that the default MaxRecvSize (4MiB) in the gRPC library.

Here's the error message:

veneur-pfj5s veneur time=“2022-11-17T18:46:21Z” level=error msg=“Failed to forward to an upstream Veneur” destination=“veneur-proxy:8128” error=“rpc error: code = ResourceExhausted desc = grpc: received message larger than max (4798168 vs. 4194304)” grpcstate=READY metrics=19408 protocol=grpc

This error was easily resolved by enabling gRPC streaming in the veneur DaemonSet (configuration).

After enabling this streaming feature, I discovered that problem had now moved upstream to veneur-proxy. Veneur-proxy was now logging the same error. Unfortunately, gRPC streaming is not configurable within veneur-proxy. So, I've had to add the feature.

We've been running this patch in all of our clusters for the past week.

Copy link

@Oscil8 Oscil8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd make sure to run tests; which you can do by running docker build .

proxysrv/server.go Outdated Show resolved Hide resolved
proxysrv/server.go Outdated Show resolved Hide resolved
proxysrv/server.go Outdated Show resolved Hide resolved
proxysrv/options.go Outdated Show resolved Hide resolved
@marvelm
Copy link
Author

marvelm commented Dec 5, 2022

Hi @Oscil8. Thanks for taking the time to review this code. I wanted to add a unit test, but it's difficult to test this toggle in isolation. So, I've adapted an existing test and I've looked at the coverage to ensure that the happy path is being hit.

Screenshot 2022-12-05 at 11 39 40

Copy link

@Oscil8 Oscil8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM; I'll get a release cut after you merge

@marvelm
Copy link
Author

marvelm commented Dec 6, 2022

@Oscil8 I can't merge this PR as I don't have write access to this repo 😅

@Oscil8 Oscil8 merged commit 96d78e6 into draios:v14.2.0-prw-sink Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants