guozhangwang opened a new pull request, #12304: URL: https://github.com/apache/kafka/pull/12304
There are some considerata embedded in this seemingly straight-forward PR that I'd like to explain here. The StreamPartitioner is used to send records to three types of topics: 1) repartition topics, where key should never be null. 2) changelog topics, where key should never be null. 3) sink topics, where only non-windowed key could be null and windowed key should still never be null. Also, the StreamPartitioner is used as part of the IQ to determine which host contains a certain key, as determined by the case 2) above. This PR's main goal is to remove the deprecated producer's default partitioner, while with those things in mind such that: 1) We want to make sure for not-null keys, the default murmur2 hash behavior of the streams' partitioner stays consistent with producer's new built-in partitioner. 2) For null-keys (which is only possible for non-window default stream partition, and is never used for IQ), we would fix the issue that we may never rotate to a new partitioner by setting the partition as `null` hence relying on the newly introduced built-in partitioner. ### Committer Checklist (excluded from commit message) - [ ] Verify design and implementation - [ ] Verify test coverage and CI build status - [ ] Verify documentation (including upgrade notes) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
