-
Notifications
You must be signed in to change notification settings - Fork 444
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
Remove max_number_of_messages
for SQS+S3-based inputs
#12101
Comments
@faec What do you think we should do here since you implemented the SQS changes. I think maintaining backwards compatibility is probably the best solution, but it means incurring a little tech debt. |
I assume you're referring here to the defaults in the integrations? As far as I know the default in the input itself is 5 workers. Does this mean that integrations still set an explicit default of 1 for
I don't think there is anything to be gained by trying to recover backwards compatibility by emulating In the new model, one "worker" means one actual worker goroutine that continually downloads and processes objects (which is probably how most users intuitively understand "number of workers"), whereas before, it meant a goroutine that would download one object and then halt all activity until the pipeline reported that that object was fully ingested upstream (meaning that "workers" were often idle even when there was still work available). Because of this, any intentional changes that users did make to Since there's no way for us to infer the actual behavior a user was targeting based on the old |
Thanks for that detail @faec. That effectively rules out 1, so option 2 is the best solution. https://www.elastic.co/guide/en/beats/libbeat/8.17/release-notes-8.16.0.html Additionally we should make sure the owners of the relevant integrations are aware of the change. Many relevant labels have been applied to this issue already. |
Hello @strawgate is there any know issues about the agent ignoring the value of I'm having some performance issues and after some troubleshoot found that I need to use the [S3] Number of Workers setting instead of the [SQS] Maximum Concurrent SQS Messages setting on This is in Fleet Managed agents. |
Can you let me know the specific integration you're using? Can you inspect the running elastic agent config (you can also grab from a diagnostic generated in fleet) and share the block of configuration that the agent believes it is running? We may need to move this to the forum or its own issue as this issue is about a documentation issue |
@strawgate I'm using the Cloudflare Logpush integration, the Firewall Events and HTTP Requests dataset. I have multiple Inputs with the same configuration only the queue change, I'm sharing one of them here:
As you can see, there is the Inspecting the input of the integration here, it seems that the
Which I assume is populated by this setting in the UI: But since I'm using SQS, I cannot enable this setting as it will complain that bucket arn and other settings are missing. It seems an issue on the integration, so we may need to open another issue. In the Elastic Agent logs I have this, with the default value of 5. |
@strawgate should I reference the above comment on a new issue? |
Yes please, I've already tagged someone internally to follow up @flexitrev |
@strawgate no problem! I will create the issue now. edit: issue #13179 |
Here's the list of integrations that have number_of_workers set within an S3 bucket conditional
There is one integration/data_stream that only uses SQS and lacks the workers setting We need to make a bulk edit to all of these integrations similar to the changes in #13181
|
@flexitrev I think that the main In the cloudtrail dataset the number_of_workers setting is also nested under a conditional. There are other datasets on the main |
I can make a PR to solve this one. PR for Crowdstrike FDR: #13196 |
With elastic/beats#40699 the max_number_of_messages setting is now ignored for SQS inputs as of 8.15. It is still exposed in integration settings. It is still relevant for <8.15.
The new setting is number_of_workers, which the SQS-based input shares with the S3 bucket polling input in integration settings.
Unfortunately, the default value for number_of_workers is just
1
. Users using an SQS-based S3 input upgrading to 8.15 agents will find that they've gone from having five workers (or whatever number they had customized it to) for processing objects to just a single worker processing objects.We should consider one or more of the following:
max_number_of_messages
setting for thenumber_of_workers
value ifqueue_url
is present to maintain backwards compatibility while indicating that the setting will be removed in a future version.max_number_of_messages
is no longer applicable for 8.15 and to usenumber_of_workers
when using an SQS queuenumber_of_workers
default value to 5The text was updated successfully, but these errors were encountered: