...
Current state: Under Discussion
Discussion thread: https://lists.apache.org/thread.html/r41f7c11d449a4a809030ec35de48f0f79b2dc94d68cb6143d01a150e%40%3Cdev.kafka.apache.org%3E
JIRA:
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
Code Block |
---|
interface BrokerRecordValidator { /** * Validate the record for a given topic-partition. */ Optional<ApiRecordError>Optional<InvalidRecordException> validateRecord(Record record, TopicPartition topicPartitionTopicPartition topicPartition, ByteBuffer key, ByteBuffer value, Header[] headers); } |
Proposed Changes
The chain of validations would be called in the LogValidator.scala class' validateRecord(), right after the calls to validateKey() and validateTimestamp().
The return type Optional<ApiRecordError> is the same as the other internal validate functions are returning as of today.
Here is the proposed place in the existing code: https://github.com/apache/kafka/blob/744d05b12897267803f46549e8bca3d31d57be4c/core/src/main/scala/kafka/log/LogValidator.scala#L211
...