Thanks to visit codestin.com
Credit goes to github.com

Skip to content

msgpack 1.0.0 changes default string encoding / breaks fluentbit communication #157

Closed
@ptramsey

Description

@ptramsey

https://pypi.org/project/msgpack/1.0.0/ -- see the section, "Major breaking changes in 1.0":

use_bin_type=True by default. bytes are encoded in bin type in msgpack. If you are still sing Python 2, you must use unicode for all string types. You can use use_bin_type=False to encode into old msgpack format.

if use_bin_type=False isn't passed to FluentSender in msgpack_kwargs, fluentbit will see that the first element of each received message is not of type MSGPACK_OBJECT_STR, and refuse to enqueue the message. If you have debug output turned on in fluent-bit, you should see it output a message like,

[2020/02/20 21:19:55] [debug] [in_fw] parser: invalid tag format, skip.

I have verified that this happens in fluent-bit 1.3.5, and while I haven't tried it using 1.3.8, the relevant code in that release appears unchanged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions