Open Mizunanari opened 10 months ago
Thanks for you report, I can reproduce it.
In this case, the request body including msgpack=
in the second request is passed to msgpack parser:
https://github.com/fluent/fluentd/blob/74db9477f445ef83384eca6da8d6c2049945d8cd/lib/fluent/plugin/in_http.rb#L577
Because it's invalid msgpack sequence, broken data is remained in https://github.com/fluent/fluentd/blob/74db9477f445ef83384eca6da8d6c2049945d8cd/lib/fluent/plugin/parser_msgpack.rb#L35
It will break also following data.
Someone should reset @unpakcer
in msgpack parser on each request.
@ashie can i work on this bug?
@Athishpranav2003 Thanks! but looks like this is already fixed in the current master.
I confirmed the following PR fixed this issue.
I confirmed the following PR fixed this issue.
4474
Oh... this issue still remains in v1.16.x because it does not include #4474.
Oh i see, only backport is pending Its fine, i will look at other issues and pick up something which interests me.
only backport is pending
It is a difficult problem how to handle this issue on v1.16...
I'm not sure yet, but it might be a good idea to backport just this commit about parser_msgpack
to v1.16.
Or, as @ashie says in https://github.com/fluent/fluentd/issues/4346#issuecomment-1846623604, it might still be needed to consider the possibility that some data remains in the unpacker of parser_msgpack
when an unexpected error occurs.
Describe the bug
The http (in) plugin will not accept a messagepack request that should succeed if it accepts a messagepack request that fails.
To Reproduce
Create
compose.yaml
/containers/fluentd/compose.yaml
fluent.conf
/containers/fluentd/fluent.conf
compose up
Check
1. Successful Requests
2. Failure Requests
3. Same request as "1."
Expected behavior
Your Environment
Your Configuration
Your Error Log
Additional context
No response