Skip to content

Conversation

@AndersonQ
Copy link
Member

Proposed commit message

filebeat: make GZIP GA and enabled by default

This commit refactors the GZIP support in the filestream from beta to GA and enables it by default.

The `GZIPExperimental` config field has been replaced with `GZIPDisabled` to make the zero value (`false`) represent the new default behavior (GZIP enabled). The logic throughout the input has been inverted to reflect this change.

For backward compatibility, `GZIPExperimental` is retained in the config struct as a `*bool`. This allows detecting if the field was explicitly set by the user. If it is set, its value is ignored, and a deprecation warning is logged, guiding the user to the new `gzip_disabled` flag.

The validation logic in `config.Validate()` is updated to check `!c.GZIPDisabled`. The error message is now more explicit, instructing developers to set `gzip_disabled: true` if a `file_identity` other than `fingerprint` is required for their use case.

Unit and integration tests have been updated accordingly to remove dependencies on the old `gzip_experimental` flag and to verify the new default behavior, the disable flag, and the deprecation warning.

AI tools used: Cursor.

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • [ ] I have made corresponding changes to the documentation
  • [ ] I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works. Where relevant, I have used the stresstest.sh script to run them under stress conditions and race detector to verify their stability.
  • I have added an entry in ./changelog/fragments using the changelog tool.

Disruptive User Impact

Ingesting GZIP files is enabled by default. It conflicts with file identities other than fingerprint. If another file identity is used, and error is logged and the input does not start. The error guides the user to disable GZIP ingestion.

A new configu

Author's Checklist

  • [ ]

How to test this PR locally

Related issues

Use cases

Screenshots

Logs

@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Dec 3, 2025
@botelastic
Copy link

botelastic bot commented Dec 3, 2025

This pull request doesn't have a Team:<team> label.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 3, 2025

🤖 GitHub comments

Just comment with:

  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

@mergify
Copy link
Contributor

mergify bot commented Dec 3, 2025

This pull request does not have a backport label.
If this is a bug or security fix, could you label this PR @AndersonQ? 🙏.
For such, you'll need to label your PR with:

  • The upcoming major version of the Elastic Stack
  • The upcoming minor version of the Elastic Stack (if you're not pushing a breaking change)

To fixup this pull request, you need to add the backport labels for the needed
branches, such as:

  • backport-8./d is the label to automatically backport to the 8./d branch. /d is the digit
  • backport-active-all is the label that automatically backports to all active branches.
  • backport-active-8 is the label that automatically backports to all active minor branches for the 8 major.
  • backport-active-9 is the label that automatically backports to all active minor branches for the 9 major.

This commit refactors the GZIP support in the filestream from beta to GA and enables it by default.

The `GZIPExperimental` config field has been replaced with `GZIPDisabled` to make the zero value (`false`) represent the new default behavior (GZIP enabled). The logic throughout the input has been inverted to reflect this change.

For backward compatibility, `GZIPExperimental` is retained in the config struct as a `*bool`. This allows detecting if the field was explicitly set by the user. If it is set, its value is ignored, and a deprecation warning is logged, guiding the user to the new `gzip_disabled` flag.

The validation logic in `config.Validate()` is updated to check `!c.GZIPDisabled`. The error message is now more explicit, instructing developers to set `gzip_disabled: true` if a `file_identity` other than `fingerprint` is required for their use case.

Unit and integration tests have been updated accordingly to remove dependencies on the old `gzip_experimental` flag and to verify the new default behavior, the disable flag, and the deprecation warning.

AI tools used: Cursor.
@AndersonQ AndersonQ force-pushed the 47880-gzip-default-on-ga branch from 688d85a to 1a9f0b9 Compare December 3, 2025 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs_team Indicates that the issue/PR needs a Team:* label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant