-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Buffer: Can't write already compressed MessagePack EventStream as is #4146
Comments
fluentd/lib/fluent/plugin/buffer.rb Lines 669 to 674 in 206b46b
fluentd/lib/fluent/plugin/output.rb Lines 1016 to 1027 in 206b46b
Lines 292 to 300 in 206b46b
|
This signature mismatch looks like a bug. Lines 297 to 300 in 206b46b
|
Somehow, only the signature of this method was not fixed in the following PR. It is hard to imagine that only this method was be overlooked, but it may be a simple bug, since I don't see the intent. |
Describe the bug
in_forward
can receive a compressed MessagePack EventStream fromout_forward
.On the
in_forward
side, I think there is no way to process the compressed data as is (i.e. without decompressing).I get an unexpected error when I set
compress gzip
of Buffer on thein_forward
side.To me, this looks like a bug of
Buffer
andCompressedMessagePackEventStream
.A possible use case is a two-stage transfer.
out_forward
) -> Forwarder2(in_forward
,out_forward
) -> Aggregator(in_forward
)In this case, Forwarder2 should process the data of
CompressedMessagePackEventStream
as is (i.e. without decompressing) and re-transfer the data to Aggregator.However, if enabling compressing both in Forwarder1 and Forwarder2, an unexpected error occurs in Forwarder2.
Note: if disabling the compression only in Forwarder2, the data is decompressed in Forwarder2. This decompression is completely useless.
To Reproduce
Make the
out_forward
side Fluentd and thein_forward
side Fluentd work respectively with the settings inYour Configuration
.The assumed use case is this, as above.
out_forward
) -> Forwarder2(in_forward
,out_forward
) -> Aggregator(in_forward
)But we can easily reproduce this error by 2 Fluentd as those settings.
(Of course, if we start 3 Fluentd like the above and enable the compression setting for both
out_forward
in Forwarder1 and Forwarder2, this reproduces as well)Expected behavior
When enabling the compression of the buffer and it tries to process an already compressed MessagePack EventStream, it should process the data as is and not raise an unexpected error.
Your Environment
Your Configuration
Your Error Log
Additional context
No response
The text was updated successfully, but these errors were encountered: