Skip to content
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

feat(lz4 encoder/decoder): add support for Lz4 encode and decode #1339

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

jimmystewpot
Copy link

@jimmystewpot jimmystewpot commented Mar 14, 2025

Summary

This change aims to introduce support for LZ4 encoding and decoding. We currently use lz4 compression on (some of) our observability pipelines to help with costs and bandwidth utilisation. We reached out to see if this was something that we could contribute to the community in issue #1337 (it is only now that I realise how l33t that issue ID is.. lol)

Change Type

  • Bug fix
  • New feature
  • Non-functional (chore, refactoring, docs)
  • Performance

Is this a breaking change?

  • Yes
  • No

How did you test this PR?

To minimise the review effort, I have mirrored the test styles and layout from other encoders and decoders. Specifically, I modelled it after the snappy one.

Does this PR include user-facing changes?

  • Yes. Please add a changelog fragment based on
    our guidelines.
  • No. A maintainer will apply the "no-changelog" label to this PR.

Checklist

  • Our CONTRIBUTING.md is a good starting place.
  • If this PR introduces changes to LICENSE-3rdparty.csv, please
    run dd-rust-license-tool write and commit the changes. More details here.
  • For new VRL functions, please also create a sibling PR in Vector to document the new function. pending

References

Sorry, something went wrong.

Verified

This commit was signed with the committer’s verified signature.
jimmystewpot James Lamb

Verified

This commit was signed with the committer’s verified signature.
jimmystewpot James Lamb

Verified

This commit was signed with the committer’s verified signature.
jimmystewpot James Lamb

Verified

This commit was signed with the committer’s verified signature.
jimmystewpot James Lamb

Verified

This commit was signed with the committer’s verified signature.
jimmystewpot James Lamb
@pront
Copy link
Member

pront commented Mar 17, 2025

Hi @jimmystewpot, 1337 indeed. There are a few failing checks and we will also need a sibling PR in Vector to document this function. Otherwise, LGTM!

Verified

This commit was signed with the committer’s verified signature.
jimmystewpot James Lamb

Verified

This commit was signed with the committer’s verified signature.
jimmystewpot James Lamb
@jimmystewpot
Copy link
Author

The vector PR for documentation updates should be now available here vectordotdev/vector#22702

@pront pront enabled auto-merge March 24, 2025 19:28
Copy link
Member

@pront pront left a comment

Choose a reason for hiding this comment

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

Verified

This commit was signed with the committer’s verified signature.
jimmystewpot James Lamb
auto-merge was automatically disabled March 24, 2025 21:03

Head branch was pushed to by a user without write access

@jimmystewpot
Copy link
Author

One small failure to address: https://github.com/vectordotdev/vrl/actions/runs/13983003461/job/39321067362?pr=1339

Thanks, I've updated the filename.

@pront pront enabled auto-merge March 25, 2025 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Encode/Decode lz4 support
2 participants