Uh oh!
There was an error while loading. Please reload this page.
HBASE-25913 Introduce EnvironmentEdge.Clock and Clock.currentTimeAdvancing - #3352
HBASE-25913 Introduce EnvironmentEdge.Clock and Clock.currentTimeAdvancing#3352apurtell wants to merge 2 commits into
Conversation
Apache-HBase
commented
Jun 4, 2021
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 4, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 4, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 4, 2021
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 4, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 4, 2021
💔 -1 overall
This message was automatically generated. |
apurtell
commented
Jun 4, 2021
Many relevant test results, found some good issues, will push an update soon. |
apurtell
commented
Jun 5, 2021
Latest push fixes tests but I'm considering another approach as well. |
Apache-HBase
commented
Jun 5, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 5, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 5, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 20, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 20, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 21, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 22, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 22, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 22, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jul 2, 2021
💔 -1 overall
This message was automatically generated. |
2 similar comments
Apache-HBase
commented
Jul 2, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jul 2, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 7, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 7, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 7, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 15, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 15, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 15, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 19, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 19, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 19, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Nov 3, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Nov 3, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Nov 4, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Dec 7, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Dec 7, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Dec 7, 2021
💔 -1 overall
This message was automatically generated. |
…ncing - Introduce a Clock abstraction into EnvironmentEdge and define Clock#currentTimeAdvancing, which ensures that every call to this method returns an advancing time.
…ncing - Use a per region Clock in HRegion to ensure the time advances - Update unit tests as needed
Apache-HBase
commented
Mar 27, 2022
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Mar 27, 2022
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Mar 27, 2022
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Apr 30, 2022
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Apr 30, 2022
💔 -1 overall
This message was automatically generated. |
1 similar comment
Apache-HBase
commented
Apr 30, 2022
💔 -1 overall
This message was automatically generated. |
Introduce a Clock abstraction into EnvironmentEdge and define Clock#currentTimeAdvancing, which ensures that every call to this method returns an advancing time.
Use a per region Clock in HRegion to ensure the time advances.
The essential changes are in three files, BoundedIncrementYieldAdvancingClock, BaseEnvironmentEdge, and HRegion.
I explored various options for implementing an advancing time, please refer to the microbenchmark results here and here. They are all included in this patch although only BoundedIncrementYieldAdvancingClock is used.
TODO:
One reasonable HRegion based test that ensures the timestamp substitutions made in a tight loop that would do more than one in a clock tick are all unique.
We optimize for single row updates. However for updates where more than one row is involved we go immediately to the region scope. We could imagine taking the above idea further and make this formal as a row clock, and keep track of row clocks similar to row locks (maybe they could be combined), and take some kind of union-of-row-clocks for all rows involved in a batch mutation, but this would seem to be fairly complex, and we need the initial changes to be reasonable reviewable, but could be considered as follow up work.