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:
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.