After brokers have been upgraded to 2.1, users can begin using zstd compression. Regardless of the inter.broker.protocol.version, the broker will happily accept zstd-compressed data as long as the right produce request version is used. However, if the inter.broker.protocol.version is set to 2.0 or below, then followers will not be able to use the minimum required fetch version, which will result in the following error:
[2019-02-11 17:42:47,116] ERROR [ReplicaFetcher replicaId=2, leaderId=1, fetcherId=0] Error for partition foo-0 at offset 0 (kafka.server.ReplicaFetcherThread) org.apache.kafka.common.errors.UnsupportedCompressionTypeException: The requesting client does not support the compression type of given partition.
We should make produce request validation consistent. Until the inter.broker.protocol.version is at 2.1 or later, we should reject produce requests with UNSUPPORTED_COMPRESSION_TYPE.
- links to