apache / accumulo

Apache Accumulo
https://accumulo.apache.org
Apache License 2.0
1.06k stars 445 forks source link

FateId's tid should be replaced with 128bit tid #4277

Closed kevinrr888 closed 6 months ago

kevinrr888 commented 7 months ago

Is your feature request related to a problem? Please describe. Prior to issue#4044 and the related PRs https://github.com/apache/accumulo/pull/4191, https://github.com/apache/accumulo/pull/4228, https://github.com/apache/accumulo/pull/4247, and https://github.com/apache/accumulo/pull/4258 for elasticity, fate transaction ids were longs. Now, fate transaction ids are objects (FateId) consisting of the long and the FateInstanceType. Now that the long id is centralized, it would be nice to change this from a 64 bit long to a 128 bit UUID. Further, FateIds should be sortable by UUID. The UUID should include the creation time, and first be sorted by the creation time. For example FateId1 < FateId2 means FateId1 was created before FateId2. This can be achieved with UUIDv7.

The benefits of this are:

Additional context Further UUIDv7 context: https://github.com/apache/accumulo/issues/4044#issuecomment-1932572797

kevinrr888 commented 7 months ago

I would like to work on this