Hi, Jiunn-Yang and Chia-Ping, Thanks for the reply.
JR34. Hmm, it seems that the code in taskConfigs() could return an empty list for a task if knownSourceTopicPartitions is less than maxTasks, Chia-Ping? JR36. Sounds good. Could you update the KIP? Also, should we do the same for ssl.cipher.suites and sasl.oauthbearer.expected.audience? JR37. Is it true that MirrorClientConfig.bootstrap.servers returns ClassCastException for null? It seems that null could be casted to any class. JR38. "If the configuration is optional, we will reject any duplicate values in the list." Could you clarify this? For example, plugin.path is optional, but with a default value. We reject duplicates as well as empty lists. JR39. isEmptyAllowed and isNullAllowed are not public fields, right? They are only public in the anyNonDuplicateValues() method. JR40. It would be useful to mention that if cleanup.policy is empty and remote.storage.enable is true, the local log segments will be cleaned based on log.local.retention.bytes and log.local.retention.ms. Jun On Fri, Jul 18, 2025 at 9:52 AM Chia-Ping Tsai <chia7...@gmail.com> wrote: > > > > JR34: For these two configurations, setting an empty list feels a bit > > unintuitive. If an empty list is > > provided, the consumer will call the unsubscribe method, which doesn't > > seem appropriate given > > the documentation states: "Topic-partitions assigned to this task to > > replicate." > > > > agreed. Additionally, the source code [0] shows that it is not intended to > generate empty tps for the source task > > [0] > > https://github.com/apache/kafka/blob/9b542b6ea21e84677a9292f250fc25f8b4162e6f/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorSourceConnector.java#L202 >