You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2017/07/06 05:39:02 UTC

[jira] [Commented] (HBASE-14070) Hybrid Logical Clocks for HBase

    [ https://issues.apache.org/jira/browse/HBASE-14070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16075966#comment-16075966 ] 

Hudson commented on HBASE-14070:
--------------------------------

FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #3321 (See [https://builds.apache.org/job/HBase-Trunk_matrix/3321/])
HBASE-14070 - Core HLC (stack: rev 9fe94c11690891eed6470fdb0b9bfcfc9e95a888)
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestCopyTable.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java
* (add) hbase-common/src/main/java/org/apache/hadoop/hbase/Clock.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java
* (edit) hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestWALReplay.java
* (add) hbase-common/src/test/java/org/apache/hadoop/hbase/TestClock.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DropDeletesCompactionScanQueryMatcher.java
* (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/SettableTimestamp.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestIncrementTimeRange.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestCoprocessorScanPolicy.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java
* (add) hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimestampType.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
* (add) hbase-common/src/main/java/org/apache/hadoop/hbase/TimestampType.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWALLockup.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestTableName.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCellACLWithMultipleVersions.java
* (add) hbase-server/src/test/java/org/apache/hadoop/hbase/TestClockWithCluster.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java
* (add) hbase-common/src/main/java/org/apache/hadoop/hbase/ClockType.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
Revert "HBASE-14070 - Core HLC" Revert a push too-early (stack: rev c5abb6cabb312a424dc14aa77055339fe5cac5f7)
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* (delete) hbase-common/src/main/java/org/apache/hadoop/hbase/Clock.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/SettableTimestamp.java
* (delete) hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimestampType.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWALLockup.java
* (delete) hbase-common/src/main/java/org/apache/hadoop/hbase/ClockType.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestWALReplay.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestIncrementTimeRange.java
* (delete) hbase-common/src/test/java/org/apache/hadoop/hbase/TestClock.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCellACLWithMultipleVersions.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java
* (edit) hbase-client/src/test/java/org/apache/hadoop/hbase/TestInterfaceAudienceAnnotations.java
* (delete) hbase-server/src/test/java/org/apache/hadoop/hbase/TestClockWithCluster.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestCoprocessorScanPolicy.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestCopyTable.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestTableName.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DropDeletesCompactionScanQueryMatcher.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java
* (delete) hbase-common/src/main/java/org/apache/hadoop/hbase/TimestampType.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java


> Hybrid Logical Clocks for HBase
> -------------------------------
>
>                 Key: HBASE-14070
>                 URL: https://issues.apache.org/jira/browse/HBASE-14070
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Enis Soztutar
>            Assignee: Amit Patel
>         Attachments: HBASE-14070.master.001.patch, HybridLogicalClocksforHBaseandPhoenix.docx, HybridLogicalClocksforHBaseandPhoenix.pdf
>
>
> HBase and Phoenix uses systems physical clock (PT) to give timestamps to events (read and writes). This works mostly when the system clock is strictly monotonically increasing and there is no cross-dependency between servers clocks. However we know that leap seconds, general clock skew and clock drift are in fact real. 
> This jira proposes using Hybrid Logical Clocks (HLC) as an implementation of hybrid physical clock + a logical clock. HLC is best of both worlds where it keeps causality relationship similar to logical clocks, but still is compatible with NTP based physical system clock. HLC can be represented in 64bits. 
> A design document is attached and also can be found here: 
> https://docs.google.com/document/d/1LL2GAodiYi0waBz5ODGL4LDT4e_bXy8P9h6kWC05Bhw/edit#



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)