diff --git a/presto-main/src/main/java/io/prestosql/server/PrestoSystemRequirements.java b/presto-main/src/main/java/io/prestosql/server/PrestoSystemRequirements.java index 33d73c59af2a7..b34cbc0dcd70e 100644 --- a/presto-main/src/main/java/io/prestosql/server/PrestoSystemRequirements.java +++ b/presto-main/src/main/java/io/prestosql/server/PrestoSystemRequirements.java @@ -14,6 +14,7 @@ package io.prestosql.server; import com.google.common.base.StandardSystemProperty; +import com.google.common.collect.ImmutableSet; import io.airlift.slice.Slice; import io.airlift.slice.Slices; import org.joda.time.DateTime; @@ -71,10 +72,13 @@ private static void verifyOsArchitecture() String osName = StandardSystemProperty.OS_NAME.value(); String osArch = StandardSystemProperty.OS_ARCH.value(); if ("Linux".equals(osName)) { - if (!"amd64".equals(osArch) && !"ppc64le".equals(osArch)) { - failRequirement("Presto requires amd64 or ppc64le on Linux (found %s)", osArch); + if (!ImmutableSet.of("amd64", "aarch64", "ppc64le").contains(osArch)) { + failRequirement("Presto requires amd64, aarch64, or ppc64le on Linux (found %s)", osArch); } - if ("ppc64le".equals(osArch)) { + if ("aarch64".equals(osArch)) { + warnRequirement("Support for the ARM architecture is experimental"); + } + else if ("ppc64le".equals(osArch)) { warnRequirement("Support for the POWER architecture is experimental"); } }