[
https://issues.apache.org/jira/browse/HBASE-9902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13821120#comment-13821120
]
Hudson commented on HBASE-9902:
-------------------------------
SUCCESS: Integrated in hbase-0.96-hadoop2 #118 (See
[https://builds.apache.org/job/hbase-0.96-hadoop2/118/])
HBASE-9902 Region Server is starting normally even if clock skew is more than
default 30 seconds(or any configured). -> Regionserver node time is greater
than master node time(Kashif) (rajeshbabu: rev 1541113)
*
/hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
*
/hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java
> Region Server is starting normally even if clock skew is more than default 30
> seconds(or any configured). -> Regionserver node time is greater than master
> node time
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-9902
> URL: https://issues.apache.org/jira/browse/HBASE-9902
> Project: HBase
> Issue Type: Bug
> Components: master
> Affects Versions: 0.94.11
> Reporter: Kashif J S
> Assignee: Kashif J S
> Fix For: 0.98.0, 0.96.1, 0.94.14
>
> Attachments: HBASE-9902.patch, HBASE-9902_v2-0.94.patch,
> HBASE-9902_v2.patch
>
>
> When Region server's time is ahead of Master's time and the difference is
> more than hbase.master.maxclockskew value, region server startup is not
> failing with ClockOutOfSyncException.
> This causes some abnormal behavior as detected by our Tests.
> ServerManager.java#checkClockSkew
> long skew = System.currentTimeMillis() - serverCurrentTime;
> if (skew > maxSkew) {
> String message = "Server " + serverName + " has been " +
> "rejected; Reported time is too far out of sync with master. " +
> "Time difference of " + skew + "ms > max allowed of " + maxSkew +
> "ms";
> LOG.warn(message);
> throw new ClockOutOfSyncException(message);
> }
> Above line results in negative value when Master's time is lesser than
> region server time and " if (skew > maxSkew) " check fails to find the skew
> in this case.
> Please Note: This was tested in hbase 0.94.11 version and the trunk also
> currently has the same logic.
> The fix for the same would be to make the skew positive value first as below:
> long skew = System.currentTimeMillis() - serverCurrentTime;
> skew = (skew < 0 ? -skew : skew);
> if (skew > maxSkew) {.....
--
This message was sent by Atlassian JIRA
(v6.1#6144)