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 {
