[
https://issues.apache.org/jira/browse/CASSANDRA-17100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benedict Elliott Smith updated CASSANDRA-17100:
-----------------------------------------------
Description:
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.
was: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.
> 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: [email protected]
For additional commands, e-mail: [email protected]