Repository: hbase
Updated Branches:
  refs/heads/branch-2 e2e08866f -> d32ba0977


HBASE-19386 Enable Arm64 unaligned support for HBase

On Arm64, java.nio.Bits.unaligned() wrongly returns false due to a JDK bug.
This causes HBase UnsafeAvailChecker wrongly returning false on Arm64.
And it slso cause FuzzyRowFilter Unit test failed.
Fix it by providing a hard-code to enbale Arm64 unaligned support.

Jira: HBASE-19386

Change-Id: I3ab821dacbe42b18cd515080da1fa3dc1f1e1d28
Signed-off-by: Yuqi Gu <[email protected]>
Signed-off-by: tedyu <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d32ba097
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d32ba097
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d32ba097

Branch: refs/heads/branch-2
Commit: d32ba0977f6f499faf5373273513429798051a14
Parents: e2e0886
Author: Yuqi Gu <[email protected]>
Authored: Thu Nov 16 08:17:15 2017 +0000
Committer: tedyu <[email protected]>
Committed: Thu Nov 30 00:42:58 2017 -0800

----------------------------------------------------------------------
 .../main/java/org/apache/hadoop/hbase/util/UnsafeAvailChecker.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d32ba097/hbase-common/src/main/java/org/apache/hadoop/hbase/util/UnsafeAvailChecker.java
----------------------------------------------------------------------
diff --git 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/UnsafeAvailChecker.java
 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/UnsafeAvailChecker.java
index f6744d7..8fe7044 100644
--- 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/UnsafeAvailChecker.java
+++ 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/UnsafeAvailChecker.java
@@ -52,7 +52,7 @@ public class UnsafeAvailChecker {
     // When Unsafe itself is not available/accessible consider unaligned as 
false.
     if (avail) {
       String arch = System.getProperty("os.arch");
-      if ("ppc64".equals(arch) || "ppc64le".equals(arch)) {
+      if ("ppc64".equals(arch) || "ppc64le".equals(arch) || 
"aarch64".equals(arch)) {
         // java.nio.Bits.unaligned() wrongly returns false on ppc 
(JDK-8165231),
         unaligned = true;
       } else {

Reply via email to