Hi Jakub, It has always been required to separate control plane listeners and controller listeners. Failing to do this is a major misconfiguration. It may not have been caught sometimes, but that is a bug.
It should be simple to fix the configuration you posted -- simply have a different name for the controller listener than the control plane listener. best, Colin On Mon, Oct 14, 2024, at 11:16, Jakub Scholz wrote: > The different name of the controller listener for KRaft controllers and > control plane listener in ZooKeeper-based cluster was not required before > and it is not simple to change to handle now at the "last minute". So given > that this is called production-ready already for some time, I think this is > breaking API change and should be treated as such. > > Thanks & Regards > Jakub > > On Mon, Oct 14, 2024 at 7:55 PM Colin McCabe <cmcc...@apache.org> wrote: > >> Hi Jakub, >> >> After looking through the attached file on the JIRA, I can say that this >> is a misconfiguration. control.plane.listener is a totally separate concept >> from control.plane.listener.name. They should never be set to the same >> value. The controller listener must have a different name and value than >> the control plane listener (if any). >> >> I also tested myself that KRaft migration works with >> control.plane.listener configured. It works on both 3.8 and 3.9-RC2. >> >> My initial statement that control.plane.listener was not supported during >> ZK migration was incorrect. As you said, it is supported during migration >> up to the point that we are in KRaft mode. (Another reason why having the >> control plane listener = controller listener would not make sense.) >> >> Thanks for the bug report and discussion. I've closed this as invalid now >> that I have tested migration using control.plane.listener for myself and >> verified that it works. >> >> best, >> Colin >> >> On Mon, Oct 14, 2024, at 08:31, Jakub Scholz wrote: >> >> control.plane.listener is not (and never has been) supported in KRaft >> > mode. >> > >> > You mean control.plane.listener.name is not supported in KRaft I guess? >> > Well, this is not KRaft, this is migration, so it uses the settings that >> it >> > used before for the Zoo-based cluster and that includes using dedicated >> > control plane listener. I don't think I can "just remove it" because the >> > other nodes will use it during the rolling update. >> > >> > This also worked fine with 3.8 (and 3.7, etc.) -> so if it is not >> supported >> > now, it is a breaking API change I guess which should be a blocker. >> > >> > Thanks & Regards >> > Jakub >> > >> > On Mon, Oct 14, 2024 at 5:12 PM Colin McCabe <cmcc...@apache.org> wrote: >> > >> >> Hi Jakub, >> >> >> >> Thanks for testing. control.plane.listener is not (and never has been) >> >> supported in KRaft mode. You have to remove control.plane.listener >> >> configurations before migrating. I filed KAFKA-17790 to document this in >> >> the migration instructions. (This is not a blocker for the release, >> though.) >> >> >> >> best, >> >> Colin >> >> >> >> On Mon, Oct 14, 2024, at 02:52, Jakub Scholz wrote: >> >> > Hi Colin, >> >> > >> >> > Thanks for the RC. I did some testing of it and run into >> >> > https://issues.apache.org/jira/browse/KAFKA-17788 which seems to be a >> >> > regression in the migration to KRaft process. >> >> > >> >> > Can someone who understands this part of the codebase look into it >> >> please? >> >> > >> >> > Thanks & Regards >> >> > Jakub >> >> > >> >> > On Thu, Oct 10, 2024 at 11:16 PM Colin McCabe <cmcc...@apache.org> >> >> wrote: >> >> > >> >> >> This is the second candidate for the release of Apache Kafka 3.9.0. I >> >> have >> >> >> titled it rc2 since I had an rc1 which got very far, even to the >> point >> >> of >> >> >> pushing tags and docker images, before I spotted an issue. So rather >> >> than >> >> >> mutate the tags, I decided to skip over rc1. >> >> >> >> >> >> - This is a major release, the final one in the 3.x line. (There may >> of >> >> >> course be other minor releases in this line, such as 3.9.1.) >> >> >> - Tiered storage will be considered production-ready in this release. >> >> >> - This will be the final major release to feature the deprecated >> >> ZooKeeper >> >> >> mode. >> >> >> >> >> >> This release includes the following KIPs: >> >> >> - KIP-853: Support dynamically changing KRaft controller membership >> >> >> - KIP-1057: Add remote log metadata flag to the dump log tool >> >> >> - KIP-1049: Add config log.summary.interval.ms to Kafka Streams >> >> >> - KIP-1040: Improve handling of nullable values in InsertField, >> >> >> ExtractField, and other transformations >> >> >> - KIP-1031: Control offset translation in MirrorSourceConnector >> >> >> - KIP-1033: Add Kafka Streams exception handler for exceptions >> occurring >> >> >> during processing >> >> >> - KIP-1017: Health check endpoint for Kafka Connect >> >> >> - KIP-1025: Optionally URL-encode clientID and clientSecret in >> >> >> authorization header >> >> >> - KIP-1005: Expose EarliestLocalOffset and TieredOffset >> >> >> - KIP-950: Tiered Storage Disablement >> >> >> - KIP-956: Tiered Storage Quotas >> >> >> >> >> >> Release notes for the 3.9.0 release: >> >> >> >> >> >> https://dist.apache.org/repos/dist/dev/kafka/3.9.0-rc2/RELEASE_NOTES.html >> >> >> >> >> >> *** Please download, test and vote by October 16, 2024. >> >> >> >> >> >> Kafka's KEYS file containing PGP keys we use to sign the release: >> >> >> https://kafka.apache.org/KEYS >> >> >> >> >> >> * Release artifacts to be voted upon (source and binary): >> >> >> https://dist.apache.org/repos/dist/dev/kafka/3.9.0-rc2/ >> >> >> >> >> >> * Docker release artifacts to be voted upon: >> >> >> apache/kafka:3.9.0-rc2 >> >> >> apache/kafka-native:3.9.0-rc2 >> >> >> >> >> >> * Maven artifacts to be voted upon: >> >> >> >> https://repository.apache.org/content/groups/staging/org/apache/kafka/ >> >> >> >> >> >> * Javadoc: >> >> >> https://dist.apache.org/repos/dist/dev/kafka/3.9.0-rc2/javadoc/ >> >> >> >> >> >> * Documentation: >> >> >> https://kafka.apache.org/39/documentation.html >> >> >> >> >> >> * Protocol: >> >> >> https://kafka.apache.org/39/protocol.html >> >> >> >> >> >> * Tag to be voted upon (off 3.9 branch) is the 3.9.0-rc2 tag: >> >> >> https://github.com/apache/kafka/releases/tag/3.9.0-rc2 >> >> >> >> >> >> * Successful Docker Image Github Actions Pipeline for 3.9 branch: >> >> >> Docker Build Test Pipeline (JVM): >> >> >> https://github.com/apache/kafka/actions/runs/11281563007 >> >> >> Docker Build Test Pipeline (Native): >> >> >> https://github.com/apache/kafka/actions/runs/11281608809 >> >> >> >> >> >> Thanks to everyone who helped with this release candidate, either by >> >> >> contributing code, testing, or documentation. >> >> >> >> >> >> Regards, >> >> >> Colin >> >> >> >> >> >>