-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Unrelated data injected into s3 key via $TAG[] #5938
Comments
It looks like this might be specific to using |
Can confirm this is happening in the aws-for-fluent-bit distro as well. As @dshackith pointed out, disabling |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 5 days. Maintainers can add the |
This issue was closed because it has been stalled for 5 days with no activity. |
Just wasted hours troubleshooting this. I think this should be reopened. |
@dshackith Can you please open an issue on the AWS repo for this. https://github.com/aws/aws-for-fluent-bit The preserve_data_ordering feature doesn't impact the S3 code path IIRC, so the behavior shouldn't change due to that. |
@PettitWesley My understanding is that the s3 functionality is in the core fluent-bit codebase, and not specific to the aws-for-fluent-bit container, or the plugins bundled there. I am not using aws-for-fluent-bit image. |
I note that there are multiple places in the out_s3 plugin code that interact with preserve_data_ordering |
@dshackith having an issue in the AWS distro just makes it easier for me and my team to track and put priority on it. AWS distro is just a packaging of this same upstream repo code. |
This comment indicates that this might have been tracked down and resolved: aws/aws-for-fluent-bit#541 (comment) |
Bug Report
Describe the bug
When populating a tag from kubernetes metadata, and then using the parts of that tag to construct the s3_key_format, I am getting errors from s3, and the path it is attempting to use contains additional characters in the s3 key. This presents in a couple different ways and error messages. In particular this seems to only occur with the record["kubernetes"]["container_name"] key (immediately following this value), but not for every record. I am currently using a Lua script to populate keys and then using those keys in rewrite_tag filter. I have also used the the keys directly via record accessor with the same results, leading me to believe the problem is some sort of overflow in the s3 plugin.
The most typical error:
Another example that was not a failure that contains kubernetes metadata for the fluent-bit pod that is emitting the message even though the log is for fluentd pod running on the same node:
And another that seems to contain part of a URL:
And another from a pod that is not fluentd that includes 'uent-bit` after the container_name:
This entry has the chunk path included in the s3 key:
Expected behavior
I expect the documented process for using tag parts to produce a reliable and consistent path based on the keys populated into the tag.
I do not expect random data to end up in the s3 key.
Your Environment
Additional context
I have attempted to do some string manipulation on the
container_name
key, but it makes no difference in the problem, leading me to believe there is something in the s3 plugin that is "leaking".The larger context for this work is moving log processing into fluent-bit from existing Fluentd aggregator. This is the very first addition, and it is shaking my confidence in the maturity of fluent-bit because this seems like one of the most simple use cases. We have several other operations in the queue for transition but we would like to see this working well before moving on to those.
The text was updated successfully, but these errors were encountered: