I'm writing (yet another) C++ binding for kafka and I'm curious on the encoding in relation to error-code != 0
There seems to be a discrepancy as to how to decode messages in presence of errors. ConsumerMetadataResponse error_code !=0 -> no more data should be decoded. in all others we continue parsing of the rest of the message. Is this assumption correct? ie. ProduceResponse... offset should always be decoded FetchResponse highwater_mark_offset, message_set_size and corresponding message should be decoded (most likely 0 size) OffsetResponse: offsets array should be decoded (guessing 0 size or NULL) MetadataResponse topic_data::error-code and partition-data::error_code, the rest of the message should be decoded. /svante