• Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.19.0
    • None
    • None


      There are few problems when trying to build Drill on Linux ARM64 machine:


      1) org.apache.drill.exec.record.vector.TestValueVector fails with OutOfMemoryError while trying to allocate native memory.

      org.apache.drill.exec.record.vector.TestValueVector.testVariableVectorReallocation  Time elapsed: 0.012 s  <<< ERROR!
      java.lang.Exception: Unexpected exception, expected<org.apache.drill.exec.exception.OversizedAllocationException> but was<org.apache.drill.exec.exception.OutOfMemoryException>
              at org.apache.drill.exec.record.vector.TestValueVector.testVariableVectorReallocation(
      Caused by: io.netty.util.internal.OutOfDirectMemoryError: failed to allocate 2147483647 byte(s) of direct memory (used: 889192448, max: 2621440000)
              at org.apache.drill.exec.record.vector.TestValueVector.testVariableVectorReallocation( 

      I've tried to debug it by adding io.netty.leakDetection.level=paranoid to maven-surefire-plugin's argLine but instead of reporting the leaks this actually worked around the issue


      2) Contrib Storage Mongo module tests fail because flapdoodle.mongo dependency does not support Linux ARM64

      I've created the following PRs to fix it: - Add support for AARCH64 - Add support for comparing versions - Add support for Linux AARCH64 and newer Mongodb versions


      Update: Contrib Storage Mongo module has been migrated to use TestContainers-Mongo


      3) Contrib Storage JDBC tests fail because com.wix:wix-embedded-mysql does not support Linux ARM64

      I've started adding support for ARM64 to Wix but then I realized that the project might be dead. Last commit to is at Nov 3rd 2019. So I am not sure whether the improvement will be ever accepted and released.

      My new approach here is to use TestContainers-MySQL instead of com.wix:wix-embedded-mysql. Apache Drill already uses TestContainers for Storage Cassandra and TestContainers Vault for java-exec module.


      4) Module "Contrib : Storage : Splunk" fails because there is no ARM64 Docker image for "splunk". For now I cannot find any third party Docker image for Splunk on ARM64. The only solutions I see is to disable the Splunk module tests on Linux ARM64

      According to Linux ARM64 is not supported.

      I've created requesting for adding support for ARM64.




            mgrigorov Martin Tzvetanov Grigorov
            mgrigorov Martin Tzvetanov Grigorov
            1 Vote for this issue
            6 Start watching this issue