Skip to content

[exporter/awss3exporter] Added IsArchiveFormat for Sumo IC#43574

Merged
atoulme merged 9 commits intoopen-telemetry:mainfrom
chan-tim-sumo:sumoCompression
Oct 15, 2025
Merged

[exporter/awss3exporter] Added IsArchiveFormat for Sumo IC#43574
atoulme merged 9 commits intoopen-telemetry:mainfrom
chan-tim-sumo:sumoCompression

Conversation

@chan-tim-sumo
Copy link
Contributor

@chan-tim-sumo chan-tim-sumo commented Oct 15, 2025

Description

The sumo_ic marshaler was incorrectly blocked from using compression. Sumo Logic's Installed Collector compresses archive files before S3 upload, but the OpenTelemetry exporter prevented this, causing format incompatibility.

Root cause: The exporter used ContentEncoding: "gzip" for all compressed uploads, which signals HTTP transfer compression (auto-decompressed by AWS). Archive formats like sumo_ic need files to stay compressed permanently.

Solution: Added isArchiveFormat flag to distinguish between archive formats (files stay compressed) and transfer formats (HTTP optimization). The flag controls whether ContentEncoding header is set during upload.

Testing

  • Manual testing: Downloaded files from S3, verified gzip compression with file and gunzip commands
  • Unit test passed:
➜  awss3exporter git:(sumoCompression) ✗ make test
/Users/timothy.chan/Desktop/opentelemetry-collector-contrib/.tools/gotestsum --rerun-fails=1 --packages="./..." -- -race -timeout 900s -parallel 4 --tags=""
∅  internal/metadata
✓  internal/upload (cached)
✓  . (2.662s)

DONE 98 tests in 2.662s

Documentation

  • Removed outdated README that gzip doesn't support sumo_ic marshaler

@chan-tim-sumo
Copy link
Contributor Author

hey @atoulme, when you get a chance, could you take a look? thanks!

@chan-tim-sumo
Copy link
Contributor Author

done! @atoulme

@atoulme atoulme merged commit c0704c7 into open-telemetry:main Oct 15, 2025
186 checks passed
@github-actions github-actions bot added this to the next release milestone Oct 15, 2025
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…metry#43574)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
The sumo_ic marshaler was incorrectly blocked from using compression.
Sumo Logic's Installed Collector compresses archive files before S3
upload, but the OpenTelemetry exporter prevented this, causing format
incompatibility.

Root cause: The exporter used ContentEncoding: "gzip" for all compressed
uploads, which signals HTTP transfer compression (auto-decompressed by
AWS). Archive formats like sumo_ic need files to stay compressed
permanently.

Solution: Added isArchiveFormat flag to distinguish between archive
formats (files stay compressed) and transfer formats (HTTP
optimization). The flag controls whether ContentEncoding header is set
during upload.


<!--Describe what testing was performed and which tests were added.-->
#### Testing
- Manual testing: Downloaded files from S3, verified gzip compression
with file and gunzip commands
- Unit test passed:
```
➜  awss3exporter git:(sumoCompression) ✗ make test
/Users/timothy.chan/Desktop/opentelemetry-collector-contrib/.tools/gotestsum --rerun-fails=1 --packages="./..." -- -race -timeout 900s -parallel 4 --tags=""
∅  internal/metadata
✓  internal/upload (cached)
✓  . (2.662s)

DONE 98 tests in 2.662s
```

<!--Describe the documentation added.-->
#### Documentation
- Removed outdated README that gzip doesn't support sumo_ic marshaler

<!--Please delete paragraphs that you did not use before submitting.-->
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.

3 participants