You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benedict Elliott Smith (Jira)" <ji...@apache.org> on 2021/10/30 19:37:00 UTC

[jira] [Issue Comment Deleted] (CASSANDRA-17100) CEP-15: (C*) Unique Per-Node Id for (Time)UUID

     [ https://issues.apache.org/jira/browse/CASSANDRA-17100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benedict Elliott Smith updated CASSANDRA-17100:
-----------------------------------------------
    Comment: was deleted

(was: I suppose we have an alternative option of correctly implementing the spec and using MAC address for this purpose, and simply crashing the process on startup if the MAC address conflicts with another node that's a member of the cluster (which in most cases shouldn't be possible, if the nodes all reside on the same network). In retrospect I'm not sure why we don't do this already.)

> CEP-15: (C*) Unique Per-Node Id for (Time)UUID
> ----------------------------------------------
>
>                 Key: CASSANDRA-17100
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17100
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Accord
>            Reporter: Benedict Elliott Smith
>            Priority: Normal
>
> Negotiate a unique and persistent id for each node on joining the cluster that is sufficiently compact to use for the  node part of a v2, v6 or v8 (Time)UUID, i.e. it should be at most 48 bits in length. In practice we should be able to target 7, 14 or 21 bits in length depending on cluster size, permitting more efficient vint encoding over the network and on disk.
> A seemingly simpler option for issuing UUID might be to use the NIC MAC address, but this assumes each C* process has a unique NIC, and that all nodes in the cluster are on the same network. This is likely often true, but may not be universally, so we may need a mechanism for issuing unique IDs when clashes occur, in which case it may be easier to just issue the most compact ID we can in the first place.
> Accord will use this value directly as part of its {{Timestamp}} which is very similar to a UUID but may have additional components. Accord may utilise this ID to uniquely identify the issuing node within the cluster, which the MAC address may not easily achieve as it may vary for the same logical node over time e.g. if the NIC is replaced - though a record of recent MAC addresses could be maintained.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org