3.3 has broken previous producer behavior.
A call to producer.send(record) with a record without a key and configured with batch.size=0 never returns.
Documentation for producer configuration states batch.size=0 as a valid value:
Valid Values: [0,...]
and recommends its use directly:
A small batch size will make batching less common and may reduce throughput (a batch size of zero will disable batching entirely).