The default value for the Producer setting max.request.size is 1048576. This controls the maximum size of a request (to a broker) in bytes.
The default value for the Broker setting message.max.bytes is 1000012. This controls the largest (record batch) size allowed (by the Kafka server/broker).
1048576 > 1000012
It seems that the defaults are such that a Producer (with this default value) could happen to produce a message which is larger than a Broker (with this default value) will accept, resulting in MESSAGE_TOO_LARGE errors.
Am I misunderstanding these configuration settings? Or are the Kafka defaults really such that it is possible to get MESSAGE_TOO_LARGE errors with the default values?