...
// ListOffsetResponse v1
ListOffsetResponse => [TopicName [PartitionOffsets]]
PartitionOffsets => Partition ErrorCode Timestamp
[Offset] Partition => int32
ErrorCode => int16
Timestamp => int64
Offset => int64
Add new Error Code 43 - UnsupportedForMessageFormat
This error code is added to indicate that the requested operation is not supported by the message format version. In this KIP it means the timestamp search operation is not supported by the message format before 0.10.0 when ListOffsetRequest is v1. This error code could also be used in the future when message format evolves again. (e.g. KIP-82).
Add a new method to o.a.k.c.consumer.Consumer to allow user search offsets by timestamp.
...
If message format on the broker side is before 0.10, i.e. messages do not have timestamps. ListOffsetRequest v1 will only work if target time = -1 or -2. Any other target time will result in an InvalidRequestException UnsupportedForMessageFormat (error code 4243).
Implementation wise, we will migrate to o.a.k.common.requests.ListOffsetRequest class on the broker side.
...