...
This KIP introduces a new error type INVALID_
COMPACTION
_KEY
.
It introduces a new non-retriable exception InvalidCompactionKeyException
InvalidRecordKeyException
. Going forward user request will fail without doing retries, if they try to produce to a log compacted topic with a null key.
...
Add a new error code and exception as follows :
Error Code :
INVALID_COMPACTIONRECORD_KEY
(45, new InvalidCompactionKeyException
InvalidRecordKeyException
("Message key cannot be null for a log compacted topicis invalid."))
Exception :
Code Block | ||
---|---|---|
| ||
public class InvalidCompactionKeyExceptionInvalidRecordKeyException extends ApiException { private static final long serialVersionUID = 1L; public InvalidCompactionKeyExceptionInvalidRecordKeyException() { super(); } public InvalidCompactionKeyExceptionInvalidRecordKeyException(String message, Throwable cause) { super(message, cause); } public InvalidCompactionKeyExceptionInvalidRecordKeyException(String message) { super(message); } public InvalidMessageKeyExceptionInvalidRecordKeyException(Throwable cause) { super(cause); } } |
Compatibility, Deprecation, and Migration Plan
We
...
will only return this exception for ProduceRequest V3 or higher. The older version of ProduceRequest will still get the CorruptRecordException.