Conversation
|
This is an automated comment for commit 932a563 with description of existing statuses. It's updated for the latest CI running ❌ Click here to open a full report in a separate page
Successful checks
|
5cc2859 to
90d439e
Compare
90d439e to
2419e3c
Compare
| else if (protocol_version >= Coordination::ZOOKEEPER_PROTOCOL_VERSION_WITH_XID_64) | ||
| { | ||
| close_xid = Coordination::CLOSE_XID_64; | ||
| use_xid_64 = true; |
There was a problem hiding this comment.
Why true is set for new protocol version unconditionally without taking into account config option? I'd expect setting it from config for new protocol and explicit disabling for old one.
UPD: seems in that case we will try to find second part for xid, but if it's not present will use 32 bit variant depending on what other side had sent, is it correct ?
There was a problem hiding this comment.
So client defines if XID will be 32 or 64 bit.
Based on the config, it will send a different protocol version (if use_xid_64 is set to true, ZOOKEEPER_PROTOCOL_VERSION_WITH_XID_64 will be used).
Why unconditionally? Because I see no reason to use 32bit XID if Keeper supports 64bit.
UPD: seems in that case we will try to find second part for xid, but if it's not present will use 32 bit variant depending on what other side had sent, is it correct ?
This is only true for serializing and deserializing RAFT log entries, but for communication the XID will be sent in a chunk as 32 or 64 bit integer, depending on the protocol version used.
| <clickhouse> | ||
| <zookeeper> | ||
| <use_compression>1</use_compression> | ||
| <use_xid_64>1</use_xid_64> |
There was a problem hiding this comment.
Don't we want to randomize it somehow? I recently added setting randomization #69328, but it's for user profile setting, not sure if can be easily extended for other config sections, though
There was a problem hiding this comment.
I need to push a change with randomization added for stress tests.
For integration tests, I'm not yet sure if we can enable it all because older binaries are used in some tests.
|
Documentation is missing |
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Support 64-bit XID in Keeper. It can be enabled with
use_xid_64config.Close #56245
Documentation entry for user-facing changes
CI Settings (Only check the boxes if you know what you are doing):