Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-13072

Cassandra failed to run on Linux-aarch64

    XMLWordPrintableJSON

Details

    • Normal
    • ARM

    Description

      Steps to reproduce:
      1. Download cassandra latest source
      2. Build it with "ant"
      3. Run with "./bin/cassandra". Daemon is crashed with following error message:

      INFO 05:30:21 Initializing system.schema_functions
      INFO 05:30:21 Initializing system.schema_aggregates
      ERROR 05:30:22 Exception in thread Thread[MemtableFlushWriter:1,5,main]
      java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
      at org.apache.cassandra.utils.memory.MemoryUtil.allocate(MemoryUtil.java:97) ~[main/:na]
      at org.apache.cassandra.io.util.Memory.<init>(Memory.java:74) ~[main/:na]
      at org.apache.cassandra.io.util.SafeMemory.<init>(SafeMemory.java:32) ~[main/:na]
      at org.apache.cassandra.io.compress.CompressionMetadata$Writer.<init>(CompressionMetadata.java:316) ~[main/:na]
      at org.apache.cassandra.io.compress.CompressionMetadata$Writer.open(CompressionMetadata.java:330) ~[main/:na]
      at org.apache.cassandra.io.compress.CompressedSequentialWriter.<init>(CompressedSequentialWriter.java:76) ~[main/:na]
      at org.apache.cassandra.io.util.SequentialWriter.open(SequentialWriter.java:163) ~[main/:na]
      at org.apache.cassandra.io.sstable.format.big.BigTableWriter.<init>(BigTableWriter.java:73) ~[main/:na]
      at org.apache.cassandra.io.sstable.format.big.BigFormat$WriterFactory.open(BigFormat.java:93) ~[main/:na]
      at org.apache.cassandra.io.sstable.format.SSTableWriter.create(SSTableWriter.java:96) ~[main/:na]
      at org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.create(SimpleSSTableMultiWriter.java:114) ~[main/:na]
      at org.apache.cassandra.db.compaction.AbstractCompactionStrategy.createSSTableMultiWriter(AbstractCompactionStrategy.java:519) ~[main/:na]
      at org.apache.cassandra.db.compaction.CompactionStrategyManager.createSSTableMultiWriter(CompactionStrategyManager.java:497) ~[main/:na]
      at org.apache.cassandra.db.ColumnFamilyStore.createSSTableMultiWriter(ColumnFamilyStore.java:480) ~[main/:na]
      at org.apache.cassandra.db.Memtable.createFlushWriter(Memtable.java:439) ~[main/:na]
      at org.apache.cassandra.db.Memtable.writeSortedContents(Memtable.java:371) ~[main/:na]
      at org.apache.cassandra.db.Memtable.flush(Memtable.java:332) ~[main/:na]
      at org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1054) ~[main/:na]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_111]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_111]
      at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_111]

      Analyze:
      This issue is caused by bundled jna-4.0.0.jar which doesn't come with aarch64 native support. Replace lib/jna-4.0.0.jar with jna-4.2.0.jar from http://central.maven.org/maven2/net/java/dev/jna/jna/4.2.0/ can fix this problem.

      Attached is the binary compatibility report of jna.jar between 4.0 and 4.2. The result is good (97.4%). So is there possibility to upgrade jna to 4.2.0 in upstream? Should there be any kind of tests to execute, please kindly point me. Thanks a lot.

      Attachments

        1. compat_report.html
          27 kB
          Jun He

        Issue Links

          Activity

            People

              blerer Benjamin Lerer
              jun.he Jun He
              Benjamin Lerer
              Alex Petrov
              Votes:
              1 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: