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

Support a data compression in buffer plugins #1169

Closed
ganmacs opened this issue Aug 18, 2016 · 3 comments
Closed

Support a data compression in buffer plugins #1169

ganmacs opened this issue Aug 18, 2016 · 3 comments
Labels
feature request *Deprecated Label* Use enhancement label in general v0.14

Comments

@ganmacs
Copy link
Member

ganmacs commented Aug 18, 2016

Buffer plugins have data as raw String object.
This way consumes many memory resource and bandwidth of the network.
To reduce this wasteful consumption, I propose that support a data compression in buffer plugins.

Tasks

  • Add compress true in buffer plugin configuration.
  • Compress a chunk by using zlib in concat
  • Decompress a chunk in write_to
@tagomoris tagomoris added feature request *Deprecated Label* Use enhancement label in general v0.14 labels Aug 18, 2016
@tagomoris
Copy link
Member

It looks better to do decompression in #open with optional argument not to do it forcedly (to get compressed binary for any purpose, including compressed data transferring over network).
But let me see how your implementation goes.

@ganmacs
Copy link
Member Author

ganmacs commented Aug 19, 2016

I think implementing decompression code in #open doesn't work well in MemoryChunk class.
Becuase MemoryChunk class overrides #write_to to avoid calling #open for optimization.
What do you think?

https://github.com/fluent/fluentd/blob/master/lib/fluent/plugin/buffer/memory_chunk.rb#L84

@tagomoris
Copy link
Member

#1172 and #1179 are pushed as pull-requests to solve this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request *Deprecated Label* Use enhancement label in general v0.14
Projects
None yet
Development

No branches or pull requests

2 participants