Skip to content

aws_util: catch auth errors on XML responses#11891

Open
antoniomrfranco wants to merge 1 commit into
fluent:masterfrom
antoniomrfranco:fix-s3-auth-error-cred-refresh
Open

aws_util: catch auth errors on XML responses#11891
antoniomrfranco wants to merge 1 commit into
fluent:masterfrom
antoniomrfranco:fix-s3-auth-error-cred-refresh

Conversation

@antoniomrfranco
Copy link
Copy Markdown

@antoniomrfranco antoniomrfranco commented Jun 1, 2026

Problem

When AWS credentials are rotated (e.g. a new key pair written to ~/.aws/credentials), the S3 output plugin fails to detect the authentication error and trigger a credential refresh.

The root cause is in flb_aws_is_auth_error() (src/aws/flb_aws_util.c): S3 returns error responses in XML format, but several auth-related error codes — InvalidAccessKeyId, SignatureDoesNotMatch, InvalidToken, InvalidSecurity, TokenRefreshRequired, and InvalidSignature — were only checked via the JSON path (using flb_aws_error(), which parses the __type field). The XML path only covered InvalidClientTokenId, AccessDenied, and Expired.

As a result, flb_aws_client_request() never called provider->refresh() on S3 auth failures, so stale credentials were used indefinitely despite an updated credentials file on disk.

Fix

The missing error codes are added to the XML strcasestr check block in flb_aws_is_auth_error(). When flb_aws_client_request() receives a 4xx response, it calls flb_aws_is_auth_error() on the response body. If the function returns FLB_TRUE, the client calls provider->refresh(), which re-reads the credentials file from disk and picks up the rotated keys. The next upload attempt — triggered by the S3 timer callback — then uses the fresh credentials and succeeds. With this fix, that detection now works correctly for S3's XML responses, not just JSON-based APIs like Kinesis.


Enter [N/A] in the box, if an item is not applicable to your change.

Testing
Before we can approve your change; please submit the following in a comment:

  • [N/A] Example configuration file for the change
  • Debug log output from testing the change
  • Attached Valgrind output that shows no leaks or memory corruption was found

If this is a change to packaging of containers or native binaries then please confirm it works for all targets.

  • [N/A] Run local packaging test showing all targets (including any new ones) build.
  • [N/A] Set ok-package-test label to test for all targets (requires maintainer to do).

Documentation

  • [N/A] Documentation required for this feature

Backporting

  • Backport to latest stable release.

Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.

Summary by CodeRabbit

  • Bug Fixes
    • Improved AWS authentication error detection: the system now recognizes a broader set of auth-related XML and JSON error identifiers (including InvalidSecurity, TokenRefreshRequired, and InvalidSignature), leading to more accurate detection of token/signature issues and more appropriate error responses when interacting with AWS services and credential refresh flows.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 1, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 14c34028-e8c4-4a39-acd0-15f327e44523

📥 Commits

Reviewing files that changed from the base of the PR and between a3a9820 and 7ebc6f8.

📒 Files selected for processing (1)
  • src/aws/flb_aws_util.c
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/aws/flb_aws_util.c

📝 Walkthrough

Walkthrough

Consolidates XML auth-error checks into one strcasestr() match across more AWS XML identifiers and extends JSON error-code recognition to include InvalidSecurity, TokenRefreshRequired, and InvalidSignature in flb_aws_is_auth_error().

Changes

Expanded auth error detection

Layer / File(s) Summary
Expanded auth error detection in flb_aws_is_auth_error()
src/aws/flb_aws_util.c
XML error detection consolidated from multiple if checks into a single strcasestr() check over an expanded list of AWS XML error identifiers. JSON-path matching now treats InvalidSecurity, TokenRefreshRequired, and InvalidSignature as auth-related errors.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

backport to v4.1.x

Poem

🐰 I hopped through code with ears alert,

Searched XML and JSON, left no dirt,
Tokens and signatures now in view,
Auth errors caught — one, two, and two,
A tidy patch from this rabbit to you.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the primary change: expanding auth-error detection in AWS XML responses by adding missing error codes to flb_aws_is_auth_error().
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Infer (1.2.0)
src/aws/flb_aws_util.c

src/aws/flb_aws_util.c:20:10: fatal error: 'fluent-bit/flb_info.h' file not found
20 | #include <fluent-bit/flb_info.h>
| ^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Error: the following clang command did not run successfully:
/opt/infer-linux-x86_64-v1.2.0/lib/infer/facebook-clang-plugins/clang/install/bin/clang-18
@/tmp/coderabbit-infer/7ebc6f8742cd22fcdf2f41019a0ddc3410f67fa8-964f6e2e1b36e5e0/tmp/clang_command_.tmp.258e86.txt
++Contents of '/tmp/coderabbit-infer/7ebc6f8742cd22fcdf2f41019a0ddc3410f67fa8-964f6e2e1b36e5e0/tmp/clang_command_.tmp.258e86.txt':
"-cc1" "-load"
"/opt/infer-linux-x86_64-v1.2.0/lib/infer/infer/bin/../../facebook-clang-plugins/libtooling/build/FacebookClangPlugin.dylib"
"-add-plugin" "BiniouASTExporter" "-plugin-arg-BiniouASTExporter" "-"
"-plugin-arg-BiniouASTExporter" "PREPEND_CURRENT_DIR=1"
"-plugin-arg-BiniouASTExporter" "MAX_STRING_SIZE=65535" "-cc1" "-triple"
"x86_64-unknown-linux-gnu" "-emit-obj" "-mrela

... [truncated 727 characters] ...

/infer-linux-x86_64-v1.2.0/lib/infer/facebook-clang-plugins/clang/install/lib/clang/18/include"
"-internal-isystem" "/usr/local/include" "-internal-isystem"
"/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include"
"-internal-externc-isystem" "/usr/include/x86_64-linux-gnu"
"-internal-externc-isystem" "/include" "-internal-externc-isystem"
"/usr/include" "-Wno-ignored-optimization-argument" "-Wno-everything"
"-ferror-limit" "19" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf"
"-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o"
"/tmp/coderabbit-infer/964f6e2e1b36e5e0/file.o" "-x" "c"
"src/aws/flb_aws_util.c" "-O0" "-fno-builtin" "-include"
"/opt/infer-linux-x86_64-v1.2.0/lib/infer/infer/bin/../lib/clang_wrappers/global_defines.h"
"-Wno-everything"


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@antoniomrfranco
Copy link
Copy Markdown
Author

Debug log output from testing the change:

Fluent Bit v5.0.7
* Copyright (C) 2015-2026 The Fluent Bit Authors
* Fluent Bit is a CNCF graduated project under the Fluent organization
* https://fluentbit.io

______ _                  _    ______ _ _           _____  _____ 
|  ___| |                | |   | ___ (_) |         |  ___||  _  |
| |_  | |_   _  ___ _ __ | |_  | |_/ /_| |_  __   _|___ \ | |/' |
|  _| | | | | |/ _ \ '_ \| __| | ___ \ | __| \ \ / /   \ \|  /| |
| |   | | |_| |  __/ | | | |_  | |_/ / | |_   \ V //\__/ /\ |_/ /
\_|   |_|\__,_|\___|_| |_|\__| \____/|_|\__|   \_/ \____(_)\___/


[2026/06/02 20:22:28.396] [ info] Configuration:
[2026/06/02 20:22:28.407] [ info]  flush time     | 1.000000 seconds
[2026/06/02 20:22:28.411] [ info]  grace          | 5 seconds
[2026/06/02 20:22:28.411] [ info]  daemon         | 0
[2026/06/02 20:22:28.411] [ info] ___________
[2026/06/02 20:22:28.412] [ info]  inputs:
[2026/06/02 20:22:28.412] [ info]      cpu
[2026/06/02 20:22:28.412] [ info] ___________
[2026/06/02 20:22:28.413] [ info]  filters:
[2026/06/02 20:22:28.413] [ info] ___________
[2026/06/02 20:22:28.413] [ info]  outputs:
[2026/06/02 20:22:28.414] [ info]      stdout.0
[2026/06/02 20:22:28.414] [ info]      s3.1
[2026/06/02 20:22:28.414] [ info] ___________
[2026/06/02 20:22:28.414] [ info]  collectors:
[2026/06/02 20:22:28.480] [ info] [fluent bit] version=5.0.7, commit=a3a9820ef0, pid=1
[2026/06/02 20:22:28.486] [debug] [engine] coroutine stack size: 196608 bytes (192.0K)
[2026/06/02 20:22:28.489] [ info] [storage] ver=1.5.4, type=memory, sync=normal, checksum=off, max_chunks_up=128
[2026/06/02 20:22:28.489] [ info] [simd    ] NEON
[2026/06/02 20:22:28.489] [ info] [cmetrics] version=2.1.4
[2026/06/02 20:22:28.490] [ info] [ctraces ] version=0.7.1
[2026/06/02 20:22:28.498] [ info] [input:cpu:cpu.0] initializing
[2026/06/02 20:22:28.499] [ info] [input:cpu:cpu.0] storage_strategy='memory' (memory only)
[2026/06/02 20:22:28.499] [debug] [cpu:cpu.0] created event channels: read=21 write=22
[2026/06/02 20:22:28.513] [debug] [stdout:stdout.0] created event channels: read=23 write=24
[2026/06/02 20:22:28.544] [debug] [s3:s3.1] created event channels: read=30 write=31
[2026/06/02 20:22:28.588] [ info] [output:stdout:stdout.0] worker #0 started
[2026/06/02 20:22:28.769] [ info] [fstore] created root path /tmp/fluent-bit/s3/franco-fluent-bit-test
[2026/06/02 20:22:28.775] [ info] [output:s3:s3.1] Using upload size 100000000 bytes
[2026/06/02 20:22:28.785] [debug] [aws_credentials] Initialized Env Provider in standard chain
[2026/06/02 20:22:28.786] [debug] [aws_credentials] creating profile (null) provider
[2026/06/02 20:22:28.787] [debug] [aws_credentials] Initialized AWS Profile Provider in standard chain
[2026/06/02 20:22:28.788] [debug] [aws_credentials] Not initializing EKS provider because AWS_ROLE_ARN was not set
[2026/06/02 20:22:28.789] [debug] [aws_credentials] Not initializing ECS/EKS HTTP Provider because AWS_CONTAINER_CREDENTIALS_RELATIVE_URI and AWS_CONTAINER_CREDENTIALS_FULL_URI is not set
[2026/06/02 20:22:28.790] [debug] [aws_credentials] Initialized EC2 Provider in standard chain
[2026/06/02 20:22:28.792] [debug] [aws_credentials] Sync called on the EC2 provider
[2026/06/02 20:22:28.793] [debug] [aws_credentials] Init called on the env provider
[2026/06/02 20:22:28.793] [debug] [aws_credentials] Init called on the profile provider
[2026/06/02 20:22:28.793] [debug] [aws_credentials] Reading shared config file.
[2026/06/02 20:22:28.796] [debug] [aws_credentials] Reading shared credentials file.
[2026/06/02 20:22:28.798] [debug] [aws_credentials] upstream_set called on the EC2 provider
[2026/06/02 20:22:28.825] [debug] [router] match rule cpu.0:stdout.0
[2026/06/02 20:22:28.825] [debug] [router] match rule cpu.0:s3.1
[2026/06/02 20:22:28.826] [ info] [sp] stream processor started
[2026/06/02 20:22:28.827] [ info] [engine] Shutdown Grace Period=5, Shutdown Input Grace Period=2
[2026/06/02 20:22:28.831] [ info] [output:s3:s3.1] initializing worker
[2026/06/02 20:22:28.831] [ info] [output:s3:s3.1] worker #0 started
[2026/06/02 20:22:59.574] [debug] [task] created task=0x6b03090 id=0 OK
[2026/06/02 20:22:59.577] [debug] [output:stdout:stdout.0] task_id=0 assigned to thread #0
[2026/06/02 20:22:59.577] [debug] [output:s3:s3.1] task_id=0 assigned to thread #0
[0] my_cpu: [[1780431778.568708338, {}], {"cpu_p"=>0.346667, "user_p"=>0.230000, "system_p"=>0.116667, "cpu0.p_cpu"=>0.500000, "cpu0.p_user"=>0.366667, "cpu0.p_system"=>0.133333, "cpu1.p_cpu"=>0.200000, "cpu1.p_user"=>0.100000, "cpu1.p_system"=>0.100000, "cpu2.p_cpu"=>0.233333, "cpu2.p_user"=>0.100000, "cpu2.p_system"=>0.133333, "cpu3.p_cpu"=>0.300000, "cpu3.p_user"=>0.166667, "cpu3.p_system"=>0.133333, "cpu4.p_cpu"=>0.266667, "cpu4.p_user"=>0.133333, "cpu4.p_system"=>0.133333, "cpu5.p_cpu"=>0.200000, "cpu5.p_user"=>0.100000, "cpu5.p_system"=>0.100000, "cpu6.p_cpu"=>0.200000, "cpu6.p_user"=>0.100000, "cpu6.p_system"=>0.100000, "cpu7.p_cpu"=>0.133333, "cpu7.p_user"=>0.033333, "cpu7.p_system"=>0.100000, "cpu8.p_cpu"=>1.166667, "cpu8.p_user"=>1.033333, "cpu8.p_system"=>0.133333, "cpu9.p_cpu"=>0.233333, "cpu9.p_user"=>0.133333, "cpu9.p_system"=>0.100000}]
[2026/06/02 20:22:59.594] [debug] [out flush] cb_destroy coro_id=0
[2026/06/02 20:22:59.600] [debug] [output:s3:s3.1] Creating upload timer with frequency 6s
[2026/06/02 20:22:59.616] [debug] [out flush] cb_destroy coro_id=0
[2026/06/02 20:22:59.617] [debug] [task] destroy task=0x6b03090 (task_id=0)
[2026/06/02 20:23:05.558] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:05.560] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:23:05.561] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:23:11.558] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:11.558] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:23:11.558] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:23:12.659] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:23:12.660] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:23:12.904] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #58
[2026/06/02 20:23:12.905] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:23:12.915] [ info] [aws_client] auth error, refreshing creds
[2026/06/02 20:23:12.916] [debug] [aws_credentials] Refresh called on the env provider
[2026/06/02 20:23:12.917] [debug] [aws_credentials] Refresh called on the profile provider
[2026/06/02 20:23:12.917] [debug] [aws_credentials] Reading shared config file.
[2026/06/02 20:23:12.918] [debug] [aws_credentials] Reading shared credentials file.
[2026/06/02 20:23:12.920] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:23:12.922] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:23:12.923] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: NH03XR5TDW9A6X48
x-amz-id-2: voR7Z0ybFLvG+Y5BqWjBVbihVTsgV3xxStQIxChGQlejn9YW9Xf/o6ox3sR3vhX6XwOgMft55lc=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:23:12 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>NH03XR5TDW9A6X48</RequestId><HostId>voR7Z0ybFLvG+Y5BqWjBVbihVTsgV3xxStQIxChGQlejn9YW9Xf/o6ox3sR3vhX6XwOgMft55lc=</HostId></Error>
[2026/06/02 20:23:12.924] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:23:12.925] [error] [output:s3:s3.1] Could not send chunk with tag my_cpu
[2026/06/02 20:23:17.557] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:17.557] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:23:17.558] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:23:18.060] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:23:18.061] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:23:18.266] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #58
[2026/06/02 20:23:18.267] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:23:18.268] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:23:18.268] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:23:18.268] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: WSN2MBM1Z299907A
x-amz-id-2: qMK3tRSlRlTCpD6p2DRgw1ihV9DE/iK5TcpCZutVMEtY+x5ez+4RlEgn9jEkGcvN73cIHrx3r/E=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:23:17 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>WSN2MBM1Z299907A</RequestId><HostId>qMK3tRSlRlTCpD6p2DRgw1ihV9DE/iK5TcpCZutVMEtY+x5ez+4RlEgn9jEkGcvN73cIHrx3r/E=</HostId></Error>
[2026/06/02 20:23:18.268] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:23:18.268] [error] [output:s3:s3.1] Could not send chunk with tag my_cpu
[2026/06/02 20:23:23.554] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:23.555] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:23:23.555] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:23:24.010] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:23:24.010] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:23:24.234] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #58
[2026/06/02 20:23:24.234] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:23:24.236] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:23:24.236] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:23:24.236] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: GX55VBR6BSDBFCG6
x-amz-id-2: 76Xmjo0TXGB3LDKuJkN5lgHcHkwF8/aaH3W5MmXUDthMuLaSqDzMyu/onWqfr2M/drK/1G4ARbk=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:23:23 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>GX55VBR6BSDBFCG6</RequestId><HostId>76Xmjo0TXGB3LDKuJkN5lgHcHkwF8/aaH3W5MmXUDthMuLaSqDzMyu/onWqfr2M/drK/1G4ARbk=</HostId></Error>
[2026/06/02 20:23:24.236] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:23:24.236] [error] [output:s3:s3.1] Could not send chunk with tag my_cpu
[0] my_cpu: [[1780431808.558815922, {}], {"cpu_p"=>0.526667, "user_p"=>0.400000, "system_p"=>0.126667, "cpu0.p_cpu"=>0.933333, "cpu0.p_user"=>0.766667, "cpu0.p_system"=>0.166667, "cpu1.p_cpu"=>0.233333, "cpu1.p_user"=>0.100000, "cpu1.p_system"=>0.133333, "cpu2.p_cpu"=>0.166667, "cpu2.p_user"=>0.100000, "cpu2.p_system"=>0.066667, "cpu3.p_cpu"=>0.200000, "cpu3.p_user"=>0.066667, "cpu3.p_system"=>0.133333, "cpu4.p_cpu"=>0.333333, "cpu4.p_user"=>0.200000, "cpu4.p_system"=>0.133333, "cpu5.p_cpu"=>0.266667, "cpu5.p_user"=>0.133333, "cpu5.p_system"=>0.133333, "cpu6.p_cpu"=>0.233333, "cpu6.p_user"=>0.100000, "cpu6.p_system"=>0.133333, "cpu7.p_cpu"=>0.200000, "cpu7.p_user"=>0.133333, "cpu7.p_system"=>0.066667, "cpu8.p_cpu"=>2.500000, "cpu8.p_user"=>2.300000, "cpu8.p_system"=>0.200000, "cpu9.p_cpu"=>0.333333, "cpu9.p_user"=>0.166667, "cpu9.p_system"=>0.166667}]
[2026/06/02 20:23:29.556] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:29.557] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:23:29.557] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:23:29.561] [debug] [task] created task=0x97cf610 id=0 OK
[2026/06/02 20:23:29.562] [debug] [output:stdout:stdout.0] task_id=0 assigned to thread #0
[2026/06/02 20:23:29.562] [debug] [output:s3:s3.1] task_id=0 assigned to thread #0
[2026/06/02 20:23:29.573] [debug] [out flush] cb_destroy coro_id=1
[2026/06/02 20:23:30.052] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:23:30.052] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:23:30.289] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #58
[2026/06/02 20:23:30.289] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:23:30.290] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:23:30.291] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:23:30.291] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: W28D17YFPVBJ4EC4
x-amz-id-2: 0dGcuBErQQu2qnmjlcmZYoFkCP9qg/uZCLSdydKrvzIHSingn0y2Veb/vfoX7e1qGyCQuMZpP0R+Uh1U+g4hOL3OSAkWYIcuBC2wJDLC4/A=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:23:29 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>W28D17YFPVBJ4EC4</RequestId><HostId>0dGcuBErQQu2qnmjlcmZYoFkCP9qg/uZCLSdydKrvzIHSingn0y2Veb/vfoX7e1qGyCQuMZpP0R+Uh1U+g4hOL3OSAkWYIcuBC2wJDLC4/A=</HostId></Error>
[2026/06/02 20:23:30.291] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:23:30.291] [error] [output:s3:s3.1] Could not send chunk with tag my_cpu
[2026/06/02 20:23:30.294] [ info] [output:s3:s3.1] upload_timeout reached for my_cpu
[2026/06/02 20:23:30.295] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:30.745] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:23:30.745] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:23:30.958] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #58
[2026/06/02 20:23:30.958] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:23:30.960] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:23:30.960] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:23:30.960] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: W28BJ784MFZ8M6VQ
x-amz-id-2: pmbgvT78dXeM8H3PXoFVwjFY7KFC6PLyPQrO4BYYSWyfa3DjTUaJi6xLfnzig239o9EfD1gN3ji32DZTBxu9o2l/BwAW/YG8M8xG0JvDvJg=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:23:30 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>W28BJ784MFZ8M6VQ</RequestId><HostId>pmbgvT78dXeM8H3PXoFVwjFY7KFC6PLyPQrO4BYYSWyfa3DjTUaJi6xLfnzig239o9EfD1gN3ji32DZTBxu9o2l/BwAW/YG8M8xG0JvDvJg=</HostId></Error>
[2026/06/02 20:23:30.961] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:23:30.963] [debug] [output:s3:s3.1] Failed to upload file in upload_queue. Will not retry for 2 seconds
[2026/06/02 20:23:30.965] [debug] [out flush] cb_destroy coro_id=1
[2026/06/02 20:23:30.971] [debug] [task] destroy task=0x97cf610 (task_id=0)
[2026/06/02 20:23:35.561] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:36.051] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:23:36.051] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:23:36.288] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #58
[2026/06/02 20:23:36.288] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:23:36.289] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:23:36.289] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:23:36.290] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: GH5FFRVNT2ZJ9C3D
x-amz-id-2: WrE+xTPV04sUsCPgHjz/fS6RVwJ5naIrE2xtOoyMbh7VFM0doSszN+3CCgz4jUvr1mpRRJjAzRMVAiBqI1arVyGHdj4ou/D1hUUvCY1cIhE=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:23:35 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>GH5FFRVNT2ZJ9C3D</RequestId><HostId>WrE+xTPV04sUsCPgHjz/fS6RVwJ5naIrE2xtOoyMbh7VFM0doSszN+3CCgz4jUvr1mpRRJjAzRMVAiBqI1arVyGHdj4ou/D1hUUvCY1cIhE=</HostId></Error>
[2026/06/02 20:23:36.290] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:23:36.290] [debug] [output:s3:s3.1] Failed to upload file in upload_queue. Will not retry for 4 seconds
[2026/06/02 20:23:41.557] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:42.009] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:23:42.010] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:23:42.225] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #58
[2026/06/02 20:23:42.225] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:23:42.226] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:23:42.227] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:23:42.227] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: N3WR9EVZA3AWEFJV
x-amz-id-2: qhG/nDDkFVMQ48yBQotVRh004BO8YEiejW1UllfSJ9+XJukbY9cFQTrEAmIol9xw5cj+erjBHF3gq3KOZFsfowzAVsnCF9TTk4ZUUaI8j/A=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:23:41 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>N3WR9EVZA3AWEFJV</RequestId><HostId>qhG/nDDkFVMQ48yBQotVRh004BO8YEiejW1UllfSJ9+XJukbY9cFQTrEAmIol9xw5cj+erjBHF3gq3KOZFsfowzAVsnCF9TTk4ZUUaI8j/A=</HostId></Error>
[2026/06/02 20:23:42.227] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:23:42.227] [debug] [output:s3:s3.1] Failed to upload file in upload_queue. Will not retry for 6 seconds
[2026/06/02 20:23:47.558] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:48.042] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:23:48.042] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:23:48.258] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #58
[2026/06/02 20:23:48.258] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:23:48.259] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:23:48.259] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:23:48.259] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: 4CEKBKHEGC0MMV5Q
x-amz-id-2: nYRLruP0MtxSntJShkMnB6eOnw/0COzaTYlvEu/HUuNCOaLlA/UR3WP/7b6RiWr5Yu5/KZ+8ITY=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:23:48 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>4CEKBKHEGC0MMV5Q</RequestId><HostId>nYRLruP0MtxSntJShkMnB6eOnw/0COzaTYlvEu/HUuNCOaLlA/UR3WP/7b6RiWr5Yu5/KZ+8ITY=</HostId></Error>
[2026/06/02 20:23:48.260] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:23:48.260] [debug] [output:s3:s3.1] Failed to upload file in upload_queue. Will not retry for 8 seconds
[2026/06/02 20:23:53.555] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:53.556] [debug] [output:s3:s3.1] Found valid chunk file but not ready to upload
[2026/06/02 20:23:59.558] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:23:59.559] [debug] [task] created task=0x9c19b60 id=0 OK
[0] my_cpu: [[1780431838.559462088, {}], {"cpu_p"=>0.390000, "user_p"=>0.243333, "system_p"=>0.146667, "cpu0.p_cpu"=>1.200000, "cpu0.p_user"=>0.966667, "cpu0.p_system"=>0.233333, "cpu1.p_cpu"=>0.300000, "cpu1.p_user"=>0.133333, "cpu1.p_system"=>0.166667, "cpu2.p_cpu"=>0.333333, "cpu2.p_user"=>0.166667, "cpu2.p_system"=>0.166667, "cpu3.p_cpu"=>0.200000, "cpu3.p_user"=>0.066667, "cpu3.p_system"=>0.133333, "cpu4.p_cpu"=>0.333333, "cpu4.p_user"=>0.233333, "cpu4.p_system"=>0.100000, "cpu5.p_cpu"=>0.200000, "cpu5.p_user"=>0.100000, "cpu5.p_system"=>0.100000, "cpu6.p_cpu"=>0.400000, "cpu6.p_user"=>0.266667, "cpu6.p_system"=>0.133333, "cpu7.p_cpu"=>0.366667, "cpu7.p_user"=>0.166667, "cpu7.p_system"=>0.200000, "cpu8.p_cpu"=>0.266667, "cpu8.p_user"=>0.166667, "cpu8.p_system"=>0.100000, "cpu9.p_cpu"=>0.133333, "cpu9.p_user"=>0.066667, "cpu9.p_system"=>0.066667}]
[2026/06/02 20:23:59.559] [debug] [output:stdout:stdout.0] task_id=0 assigned to thread #0
[2026/06/02 20:23:59.560] [debug] [output:s3:s3.1] task_id=0 assigned to thread #0
[2026/06/02 20:23:59.571] [debug] [out flush] cb_destroy coro_id=2
[2026/06/02 20:24:00.112] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:24:00.112] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:24:00.337] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #58
[2026/06/02 20:24:00.337] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:24:00.338] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:24:00.338] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:24:00.338] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: E8FHS2YCJZSCKCGH
x-amz-id-2: WlXNGlkmq2f9BuqtUhG3YE+rvFuahnW1atKQzqkV3W3UJ8Ekdpy9fFhbSAzp+bGLh3WRVoul8tE=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:23:59 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>E8FHS2YCJZSCKCGH</RequestId><HostId>WlXNGlkmq2f9BuqtUhG3YE+rvFuahnW1atKQzqkV3W3UJ8Ekdpy9fFhbSAzp+bGLh3WRVoul8tE=</HostId></Error>
[2026/06/02 20:24:00.338] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:24:00.338] [debug] [output:s3:s3.1] Failed to upload file in upload_queue. Will not retry for 10 seconds
[2026/06/02 20:24:00.342] [debug] [out flush] cb_destroy coro_id=2
[2026/06/02 20:24:00.344] [debug] [task] destroy task=0x9c19b60 (task_id=0)
[2026/06/02 20:24:05.557] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:05.557] [debug] [output:s3:s3.1] Found valid chunk file but not ready to upload
[2026/06/02 20:24:11.565] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:12.132] [debug] [upstream] KA connection #59 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:24:12.132] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:24:12.350] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #59
[2026/06/02 20:24:12.351] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:24:12.352] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:24:12.352] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:24:12.353] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: WWZG4S3VXTTSDAYW
x-amz-id-2: hZFX6oa2CBwLQG94S6pBSoHFgcdgEc8Za47MKFkfONWsOuqsPUekHzkuRBeFL6920NgCoFA6Uqg=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:24:11 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>WWZG4S3VXTTSDAYW</RequestId><HostId>hZFX6oa2CBwLQG94S6pBSoHFgcdgEc8Za47MKFkfONWsOuqsPUekHzkuRBeFL6920NgCoFA6Uqg=</HostId></Error>
[2026/06/02 20:24:12.353] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:24:12.353] [ warn] [output:s3:s3.1] Chunk file failed to send 6 times, will not retry
[2026/06/02 20:24:17.560] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:17.560] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:24:17.560] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:24:23.557] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:23.558] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:24:23.558] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:24:29.558] [debug] [task] created task=0x9ee0010 id=0 OK
[2026/06/02 20:24:29.558] [debug] [output:stdout:stdout.0] task_id=0 assigned to thread #0
[2026/06/02 20:24:29.558] [debug] [output:s3:s3.1] task_id=0 assigned to thread #0
[2026/06/02 20:24:29.559] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:29.559] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[0] my_cpu: [[1780431868.559460130, {}], {"cpu_p"=>0.276667, "user_p"=>0.150000, "system_p"=>0.126667, "cpu0.p_cpu"=>0.633333, "cpu0.p_user"=>0.433333, "cpu0.p_system"=>0.200000, "cpu1.p_cpu"=>0.200000, "cpu1.p_user"=>0.100000, "cpu1.p_system"=>0.100000, "cpu2.p_cpu"=>0.200000, "cpu2.p_user"=>0.100000, "cpu2.p_system"=>0.100000, "cpu3.p_cpu"=>0.233333, "cpu3.p_user"=>0.133333, "cpu3.p_system"=>0.100000, "cpu4.p_cpu"=>0.233333, "cpu4.p_user"=>0.100000, "cpu4.p_system"=>0.133333, "cpu5.p_cpu"=>0.200000, "cpu5.p_user"=>0.100000, "cpu5.p_system"=>0.100000, "cpu6.p_cpu"=>0.433333, "cpu6.p_user"=>0.233333, "cpu6.p_system"=>0.200000, "cpu7.p_cpu"=>0.200000, "cpu7.p_user"=>0.100000, "cpu7.p_system"=>0.100000, "cpu8.p_cpu"=>0.266667, "cpu8.p_user"=>0.133333, "cpu8.p_system"=>0.133333, "cpu9.p_cpu"=>0.233333, "cpu9.p_user"=>0.100000, "cpu9.p_system"=>0.133333}]
[2026/06/02 20:24:29.559] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:24:29.561] [ info] [output:s3:s3.1] upload_timeout reached for my_cpu
[2026/06/02 20:24:29.561] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:29.566] [debug] [out flush] cb_destroy coro_id=3
[2026/06/02 20:24:32.929] [debug] [upstream] KA connection #57 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:24:32.929] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:24:33.174] [debug] [http_client] server s3.us-west-2.amazonaws.com:443 will close connection #57
[2026/06/02 20:24:33.175] [debug] [aws_client] s3.us-west-2.amazonaws.com: http_do=0, HTTP Status: 403
[2026/06/02 20:24:33.176] [ info] [aws_client] auth error, refreshing creds
[2026/06/02 20:24:33.176] [debug] [aws_credentials] Refresh called on the env provider
[2026/06/02 20:24:33.176] [debug] [aws_credentials] Refresh called on the profile provider
[2026/06/02 20:24:33.176] [debug] [aws_credentials] Reading shared config file.
[2026/06/02 20:24:33.177] [debug] [aws_credentials] Reading shared credentials file.
[2026/06/02 20:24:33.178] [debug] [output:s3:s3.1] PutObject http status=403
[2026/06/02 20:24:33.178] [error] [output:s3:s3.1] PutObject API responded with error='InvalidAccessKeyId', message='The AWS Access Key Id you provided does not exist in our records.'
[2026/06/02 20:24:33.178] [error] [output:s3:s3.1] Raw PutObject response: HTTP/1.1 403 Forbidden
x-amz-request-id: XZ4Y38XBV54B7GKT
x-amz-id-2: PEH4YGxFyd7aiREqx47Xj1SEztmklUp/9rzwrLz4A1LIWp8jQRhybogym3KhlfpCC4JD4FaRYxU=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Tue, 02 Jun 2026 20:24:33 GMT
Connection: close
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>AKIATWYR34MQMJVCDVLV</AWSAccessKeyId><RequestId>XZ4Y38XBV54B7GKT</RequestId><HostId>PEH4YGxFyd7aiREqx47Xj1SEztmklUp/9rzwrLz4A1LIWp8jQRhybogym3KhlfpCC4JD4FaRYxU=</HostId></Error>
[2026/06/02 20:24:33.179] [error] [output:s3:s3.1] PutObject request failed
[2026/06/02 20:24:33.179] [debug] [output:s3:s3.1] Failed to upload file in upload_queue. Will not retry for 2 seconds
[2026/06/02 20:24:33.179] [debug] [out flush] cb_destroy coro_id=3
[2026/06/02 20:24:33.181] [debug] [task] destroy task=0x9ee0010 (task_id=0)
[2026/06/02 20:24:35.557] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:36.027] [debug] [upstream] KA connection #57 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:24:36.027] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:24:36.292] [debug] [upstream] KA connection #57 to s3.us-west-2.amazonaws.com:443 is now available
[2026/06/02 20:24:36.292] [debug] [output:s3:s3.1] PutObject http status=200
[2026/06/02 20:24:36.293] [ info] [output:s3:s3.1] Successfully uploaded object /fluent-bit-logs/my_cpu/2026/06/02/20/23/58-objecthgwqucaf
[2026/06/02 20:24:41.557] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:41.558] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:24:41.558] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:24:42.285] [debug] [upstream] KA connection #57 to s3.us-west-2.amazonaws.com:443 has been disconnected by the remote service
[2026/06/02 20:24:47.556] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:47.557] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:24:47.557] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:24:53.555] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:53.555] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:24:53.556] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[0] my_cpu: [[1780431898.560300672, {}], {"cpu_p"=>0.306667, "user_p"=>0.166667, "system_p"=>0.140000, "cpu0.p_cpu"=>0.700000, "cpu0.p_user"=>0.566667, "cpu0.p_system"=>0.133333, "cpu1.p_cpu"=>0.200000, "cpu1.p_user"=>0.066667, "cpu1.p_system"=>0.133333, "cpu2.p_cpu"=>0.233333, "cpu2.p_user"=>0.133333, "cpu2.p_system"=>0.100000, "cpu3.p_cpu"=>0.266667, "cpu3.p_user"=>0.133333, "cpu3.p_system"=>0.133333, "cpu4.p_cpu"=>0.266667, "cpu4.p_user"=>0.100000, "cpu4.p_system"=>0.166667, "cpu5.p_cpu"=>0.300000, "cpu5.p_user"=>0.133333, "cpu5.p_system"=>0.166667, "cpu6.p_cpu"=>0.233333, "cpu6.p_user"=>0.100000, "cpu6.p_system"=>0.133333, "cpu7.p_cpu"=>0.200000, "cpu7.p_user"=>0.100000, "cpu7.p_system"=>0.100000, "cpu8.p_cpu"=>0.433333, "cpu8.p_user"=>0.233333, "cpu8.p_system"=>0.200000, "cpu9.p_cpu"=>0.266667, "cpu9.p_user"=>0.133333, "cpu9.p_system"=>0.133333}]
[2026/06/02 20:24:59.557] [debug] [task] created task=0xa19fba0 id=0 OK
[2026/06/02 20:24:59.557] [debug] [output:stdout:stdout.0] task_id=0 assigned to thread #0
[2026/06/02 20:24:59.557] [debug] [output:s3:s3.1] task_id=0 assigned to thread #0
[2026/06/02 20:24:59.560] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:24:59.560] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:24:59.561] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:24:59.565] [debug] [out flush] cb_destroy coro_id=4
[2026/06/02 20:24:59.566] [debug] [out flush] cb_destroy coro_id=4
[2026/06/02 20:24:59.567] [debug] [task] destroy task=0xa19fba0 (task_id=0)
[2026/06/02 20:25:05.557] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:25:05.557] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:25:05.557] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:25:11.560] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:25:11.562] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:25:11.562] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:25:12.073] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:25:12.073] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:25:12.326] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is now available
[2026/06/02 20:25:12.326] [debug] [output:s3:s3.1] PutObject http status=200
[2026/06/02 20:25:12.326] [ info] [output:s3:s3.1] Successfully uploaded object /fluent-bit-logs/my_cpu/2026/06/02/20/24/58-objectSRBM5K14
[2026/06/02 20:25:17.560] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:25:17.560] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:25:17.561] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:25:18.327] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 has been disconnected by the remote service
[2026/06/02 20:25:23.554] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:25:23.555] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:25:23.555] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:25:29.557] [debug] [task] created task=0xa3e1890 id=0 OK
[2026/06/02 20:25:29.558] [debug] [output:stdout:stdout.0] task_id=0 assigned to thread #0
[2026/06/02 20:25:29.558] [debug] [output:s3:s3.1] task_id=0 assigned to thread #0
[0] my_cpu: [[1780431928.557062172, {}], {"cpu_p"=>0.276667, "user_p"=>0.146667, "system_p"=>0.130000, "cpu0.p_cpu"=>0.500000, "cpu0.p_user"=>0.333333, "cpu0.p_system"=>0.166667, "cpu1.p_cpu"=>0.300000, "cpu1.p_user"=>0.166667, "cpu1.p_system"=>0.133333, "cpu2.p_cpu"=>0.333333, "cpu2.p_user"=>0.200000, "cpu2.p_system"=>0.133333, "cpu3.p_cpu"=>0.233333, "cpu3.p_user"=>0.100000, "cpu3.p_system"=>0.133333, "cpu4.p_cpu"=>0.200000, "cpu4.p_user"=>0.066667, "cpu4.p_system"=>0.133333, "cpu5.p_cpu"=>0.233333, "cpu5.p_user"=>0.100000, "cpu5.p_system"=>0.133333, "cpu6.p_cpu"=>0.266667, "cpu6.p_user"=>0.133333, "cpu6.p_system"=>0.133333, "cpu7.p_cpu"=>0.266667, "cpu7.p_user"=>0.133333, "cpu7.p_system"=>0.133333, "cpu8.p_cpu"=>0.200000, "cpu8.p_user"=>0.100000, "cpu8.p_system"=>0.100000, "cpu9.p_cpu"=>0.166667, "cpu9.p_user"=>0.066667, "cpu9.p_system"=>0.100000}]
[2026/06/02 20:25:29.559] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:25:29.559] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:25:29.559] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:25:29.564] [debug] [out flush] cb_destroy coro_id=5
[2026/06/02 20:25:29.565] [debug] [out flush] cb_destroy coro_id=5
[2026/06/02 20:25:29.565] [debug] [task] destroy task=0xa3e1890 (task_id=0)
[2026/06/02 20:25:35.557] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:25:35.557] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:25:35.557] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:25:41.558] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:25:41.558] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:25:41.558] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:25:42.028] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is connected
[2026/06/02 20:25:42.028] [debug] [http_client] not using http_proxy for header
[2026/06/02 20:25:42.294] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 is now available
[2026/06/02 20:25:42.294] [debug] [output:s3:s3.1] PutObject http status=200
[2026/06/02 20:25:42.294] [ info] [output:s3:s3.1] Successfully uploaded object /fluent-bit-logs/my_cpu/2026/06/02/20/25/28-objectBbHJL3OR
[2026/06/02 20:25:47.558] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:25:47.558] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:25:47.558] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
[2026/06/02 20:25:48.308] [debug] [upstream] KA connection #58 to s3.us-west-2.amazonaws.com:443 has been disconnected by the remote service
[2026/06/02 20:25:53.557] [debug] [output:s3:s3.1] Running upload timer callback (upload_queue)..
[2026/06/02 20:25:53.558] [debug] [output:s3:s3.1] No files found in upload_queue. Scanning for timed out chunks
[2026/06/02 20:25:53.558] [ info] [output:s3:s3.1] Running upload timer callback (cb_s3_upload)..
^C[2026/06/02 20:25:57] [engine] caught signal (SIGINT)
[2026/06/02 20:25:57.213] [ warn] [engine] service will shutdown in max 5 seconds
[2026/06/02 20:25:57.214] [ info] [engine] pausing all inputs..
[2026/06/02 20:25:57.215] [ info] [input] pausing cpu.0
[2026/06/02 20:25:57.562] [ info] [engine] service has stopped (0 pending tasks)
[2026/06/02 20:25:57.563] [ info] [input] pausing cpu.0
[2026/06/02 20:25:57.567] [ info] [output:stdout:stdout.0] thread worker #0 stopping...
[2026/06/02 20:25:57.573] [ info] [output:stdout:stdout.0] thread worker #0 stopped
[2026/06/02 20:25:57.599] [ info] [output:s3:s3.1] thread worker #0 stopping...
[2026/06/02 20:25:57.600] [ info] [output:s3:s3.1] terminating worker
[2026/06/02 20:25:57.601] [ info] [output:s3:s3.1] thread worker #0 stopped

@antoniomrfranco
Copy link
Copy Markdown
Author

Valgrind output that shows no leaks or memory corruption was found:

==1== 
==1== HEAP SUMMARY:
==1==     in use at exit: 0 bytes in 0 blocks
==1==   total heap usage: 45,354 allocs, 45,354 frees, 19,567,278 bytes allocated
==1== 
==1== All heap blocks were freed -- no leaks are possible
==1== 
==1== For lists of detected and suppressed errors, rerun with: -s
==1== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

@antoniomrfranco antoniomrfranco marked this pull request as ready for review June 2, 2026 20:51
@antoniomrfranco antoniomrfranco requested a review from a team as a code owner June 2, 2026 20:51
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/aws/flb_aws_util.c`:
- Around line 349-360: Fix spacing and indentation in the AWS XML error-check
block: add a space before "!= NULL" in the "SignatureDoesNotMatch" check so it
reads like the other strcasestr comparisons, and adjust the indentation of the
"return FLB_TRUE;" line to align with the other conditional body lines (use the
same 8-space indentation as the surrounding block); locate the block where
strcasestr(payload, "SignatureDoesNotMatch") is checked and the subsequent
return to make these two small edits.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 218e8ed9-9e34-430d-a6ac-46cd479d8a4d

📥 Commits

Reviewing files that changed from the base of the PR and between 909efc4 and a3a9820.

📒 Files selected for processing (1)
  • src/aws/flb_aws_util.c

Comment thread src/aws/flb_aws_util.c
Signed-off-by: Antônio Franco <13881523+antoniomrfranco@users.noreply.github.com>
@antoniomrfranco antoniomrfranco force-pushed the fix-s3-auth-error-cred-refresh branch from a3a9820 to 7ebc6f8 Compare June 2, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant