You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Filebeat streaming inputs that use CrowdStrike OAuth can fail token acquisition during 429 throttling even though retry logic exists. If timeout is lower than retry backoff, retries never execute and auth fails with context deadline exceeded.
Reproduction Steps
Add this new subtest to x-pack/filebeat/input/streaming/crowdstrike_ratelimit_test.go inside TestRateLimitTransport.
Run:
cd x-pack/filebeat/input/streaming
go test -run 'TestRateLimitTransport/timeout_should_not_cancel_retry_during_rate_limit_backoff' -count=1 ./...
Expected vs Actual
Expected: the transport should wait and retry once (429 -> 200), returning success.
Actual: retry never runs; call returns context deadline exceeded during backoff.
x-pack/filebeat/input/streaming/crowdstrike.go:148-153 wires authClient.Timeout into rateLimitTransport.timeout.
x-pack/filebeat/input/streaming/crowdstrike_ratelimit.go:37-41 applies one context.WithTimeout to the request context before retry loop.
x-pack/filebeat/input/streaming/crowdstrike_ratelimit.go:73-78 waits on timer using the same context; when timeout < backoff, context expires before retry attempt 2.
This makes maxRetry ineffective for common Retry-After/fallback waits when timeout is smaller.
Note
🔒 Integrity filter blocked 4 items
The following items were blocked because they don't meet the GitHub integrity level.
#49720search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#49718search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#49719search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#49453search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
Impact
Filebeat
streaminginputs that use CrowdStrike OAuth can fail token acquisition during429throttling even though retry logic exists. Iftimeoutis lower than retry backoff, retries never execute and auth fails withcontext deadline exceeded.Reproduction Steps
x-pack/filebeat/input/streaming/crowdstrike_ratelimit_test.goinsideTestRateLimitTransport.Expected vs Actual
Expected: the transport should wait and retry once (
429 -> 200), returning success.Actual: retry never runs; call returns
context deadline exceededduring backoff.Observed output:
Failing Test
Evidence
x-pack/filebeat/input/streaming/crowdstrike.go:148-153wiresauthClient.TimeoutintorateLimitTransport.timeout.x-pack/filebeat/input/streaming/crowdstrike_ratelimit.go:37-41applies onecontext.WithTimeoutto the request context before retry loop.x-pack/filebeat/input/streaming/crowdstrike_ratelimit.go:73-78waits on timer using the same context; when timeout < backoff, context expires before retry attempt 2.maxRetryineffective for commonRetry-After/fallback waits when timeout is smaller.Note
🔒 Integrity filter blocked 4 items
The following items were blocked because they don't meet the GitHub integrity level.
search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter:What is this? | From workflow: Bug Hunter
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.