DecodeErrors in protobuf

Erik Søe Sørensen ess at trifork.com
Fri Jan 10 03:14:34 EST 2014


It's usually one of these two:
1) the data has been corrupted since encoding.
2) what you're trying to decode is not protobuf data but something else.

If the code logged the binary data it's trying to decode, that'd be a help.
Given that the data is from network and not from disk, possible causes I can think of are:
1) the port you're accessing is not the Riak protobuf port.
2) the data is corrupted in-flight. (Very rare, but possible; we had this one at work.)
3) client software error, possibly race condition, corrupting the data.
Or something else...

How often does it happen? Can you dump the data which doesn't decode? Can you capture the data on the network?




-------- Oprindelig meddelelse --------
Fra: Massimiliano Ciancio <massimiliano at ciancio.net>
Dato:
Til: riak-users at lists.basho.com
Emne: DecodeErrors in protobuf


Hi all,
I've started receiving strange errors from protobuf.
I'm running Riak 1.4.6 on Debian 7 with a test program using python riak library from 'pip install' and python-protobuf 2.4.1-3
For this test I've configured Riak with only one instance running and N=1.
I runs many parallel python processes each using a different Riak connection.

The errors I'm observing are generated when i try to read or write to Riak and are the following:

1) DecodeError: Truncated string (http://pastebin.com/ks4xvMxB)
2) DecodeError: Unexpected end-group tag (http://pastebin.com/G3B5djuE)
3) DecodeError: Tag had invalid wire type (http://pastebin.com/F0x5b7Ns)
4) Exception: unknown msg code 44 (http://pastebin.com/n9BWRLmc)

Do you have any idea about what's going on?
Thanks in advance.
Massimiliano


More information about the riak-users mailing list