Hi Kostas - The docs for replica.fetch.max.bytes should be helpful here:

The number of bytes of messages to attempt to fetch for each partition.
This is not an absolute maximum, if the first message in the first
non-empty partition of the fetch is larger than this value, the message
will still be returned to ensure that progress can be made.

-B

On Thu, Mar 23, 2017 at 3:27 AM Kostas Christidis <kos...@gmail.com> wrote:

> Can fetch.replica.max.bytes be equal to message.max.bytes?
>
> 1. The defaults in the official Kafka documentation [1] have the
> parameter "fetch.replica.max.bytes" set to a higher value than
> "message.max.bytes". However, nothing in the description of these
> parameters implies that equality would be wrong.
>
> 2. The relevant passage in pg. 41 in the Definitive Guide book [2]
> does not imply that the former needs to be larger than the latter
> either.
>
> 3. A Cloudera doc [3] however notes that: "replica.fetch.max.bytes
> [...] must be larger than message.max.bytes, or a broker can accept
> messages it cannot replicate, potentially resulting in data loss."
>
> 4. The only other reference I could find to this strict inequality was
> this StackOverflow comment [4].
>
> So:
>
> Does fetch.replica.max.bytes *have* to be strictly larger to
> message.max.bytes?
>
> If so, what is the technical reason behind this?
>
> Thank you.
>
> [1] https://kafka.apache.org/documentation/
> [2] https://shop.oreilly.com/product/0636920044123.do
> [3]
> https://www.cloudera.com/documentation/kafka/latest/topics/kafka_performance.html
> [4] http://stackoverflow.com/a/39026744/2363529
>

Reply via email to