-
Notifications
You must be signed in to change notification settings - Fork 468
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
Support configurable MaxOutstanding* and NumGoroutines settings for GCP PubSub component #3442
Support configurable MaxOutstanding* and NumGoroutines settings for GCP PubSub component #3442
Conversation
If a work in progress, please open as a draft PR. I'll convert to draft for now. (Most maintainers do not review draft PRs by the way) |
Can you explore adding some sort of test that shows these settings are used correctly? Our "certification test" (which is a kind of end to end integration test) lives here: https://github.com/dapr/components-contrib/tree/main/tests/certification/pubsub/gcp/pubsub |
Ah, sorry about that 🙇🏻 I'll add a commit updating the |
Yep! I'm going to look into adding the tests tonight. Part of the reason I opened it as |
@berndverst One hang-up I'm running into is how to iterate on the tests to prove this out. The certification tests look tied to GitHub Actions. Is there a way y'all typically run/iterate on these locally? It's entirely possible this is just me not being as comfortable in |
@nathandl86 we don't have certification test infrastructure for GCP pub/sub today, so you're not required to add a test for this that interacts with GCP infra. You can update the existing Init certification test to check for the new metadata field, and this test you can run locally. |
82f7bbe
to
b639daf
Compare
@yaron2 I updated the unit tests living next to the GCP pubsub module. I'm not sure if those are the Init tests you intended though since they did not live in the |
I'd mentioned in the Discord that we had some challenges in manual testing. Closing that loop, I worked with my DevOps team and they setup an isolated cluster for us to test. Testing was successful 🎉 Where before we were seeing scale up of pods that were not processing messages, We now see full participation of our pods because there are available messages for their sidecar to be served 🙌🏻 We also saw a massive improvement in our unacked age metric. Before we would see it climb above 20 minutes during a load test. Across 5 tests with higher volume yesterday and today it stayed just below 4: |
Signed-off-by: Nathan Lowry <nathandl@gmail.com>
Signed-off-by: Nathan Lowry <nathandl@gmail.com>
Signed-off-by: Nathan Lowry <nathandl@gmail.com>
Signed-off-by: Nathan Lowry <nathandl@gmail.com>
Signed-off-by: Nathan Lowry <nathandl@gmail.com>
Signed-off-by: Nathan Lowry <nathandl@gmail.com>
Signed-off-by: Nathan Lowry <nathandl@gmail.com>
Signed-off-by: Nathan Lowry <nathandl@gmail.com>
4ffd9c7
to
c8e03f2
Compare
Thank you! Can you please update the docs in https://github.com/dapr/docs too? |
Yep! I'll work on that now. A couple things I want to confirm:
|
Yes to both, thank you! |
Description
Adds metadata settings for GCP PubSub component to configure the
MaxOutstandingMessages
,MaxOutstandingBytes
, andNumGoroutines
settings in the underlying Google Cloud pubsub package.Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #3441
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list: