-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Kinesis exporter failures after enabling compression #30108
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
We are experiencing the same thing with the awskinesisexporter, except we noticed the problem on the kinesis stream consumer side. We also came to the same conclusion that the problem was the shared writer. The awss3exporter creates a new writer each time -- that would "solve" this in an inefficient way: Http compression was doing that at one time but it was updated to make use of sync.Pool: For searchability, these are exceptions from a .NET consumer of the output of the awskinesisexporter:
and
|
This issue was mentioned in the PR here: However, upon deploying the collector and removing the workaround (setting One of the errors that this parallel compression bug causes is a missing EOF reference - but that's a symptom, not the cause. Under a single-threaded context, the exporter properly sets the EOF. Commenting just to make sure we don't close this issue out. |
We've had v0.101.0 running for about a week now (with the num_consumers workaround removed) and we've encountered 0 errors (last attempt, errors came up within 24 hours in our system). I believe this issue is resolved by: FYI @MovieStoreGuy in case you want to close this out (although I'm not the OP, so always a chance I've mistaken this issue as another) |
Tested with v0.102.0. I can verify that issue is no longer occurring. Resolving. |
Component(s)
exporter/awskinesis
What happened?
Description
After enabling compression using the following configuration, kinesis exporter errors out with
index out of range
runtime error and results in termination of collector agent.Steps to Reproduce
Use the collector config provided below
Expected Result
Traces should be exported to aws kinesis stream with compressed data
Actual Result
Kinesis exporter fails and shuts down the collector agent
Collector version
v0.91.0
Environment information
Environment
OS: MacOS 14.1
Compiler(if manually compiled): N/A
OpenTelemetry Collector configuration
Log output
Additional context
Note: This is happening for all the supported compression types (flate, zlib and gzip)
Sample traces were generated using the
telemetrygen
utility.telemetrygen traces --otlp-insecure --traces 100
This might be relate to using a shared compression writer for multiple co-routines.
golang/go#40008 (comment)
The issue don't surface when the number of consumers for sending queue is limited to 1.
The text was updated successfully, but these errors were encountered: