Hello. I investigate some production failure lately and found that current log format for WA ZOOKEEPER-2985 [1] not aligned with ZK internal log format. Kafka print ZK session id as decimal while Zookeeper outputs using hex format.
For example: ``` [2023-02-01 00:42:17,590] INFO Session establishment complete on server some.server.name/[some_server_ip]:[server_port], sessionid = 0x4002429158c0005, negotiated timeout = 6000 (org.apache.zookeeper.ClientCnxn) [2023-02-01 00:42:17,650] ERROR Error while creating ephemeral at /brokers/ids/2, node already exists and owner '144155473589174273' does not match current session '288270135025467397' (kafka.zk.KafkaZkClient$CheckedEphemeral) [2023-02-01 00:42:22,823] WARN Client session timed out, have not heard from server in 4743ms for sessionid 0x100241c44620009 (org.apache.zookeeper.ClientCnxn) ``` Please, note that ``` scala> java.lang.Long.toHexString(288270135025467397L) val res1: String = 4002429158c0005 scala> java.lang.Long.toHexString(144155473589174273L) val res0: String = 20024a3b3b60001 ``` So «288270135025467397» from CheckedEphemeral log actually points to newly created ZK session from previous line «0x4002429158c0005» It seems more convenient to print session id in hex format. I prepared PR [2] to fix this. Please, review. [1] https://issues.apache.org/jira/browse/ZOOKEEPER-2985 [2] https://github.com/apache/kafka/pull/13281