Jun He created CASSANDRA-13072:
----------------------------------
Summary: Cassandra failed to run on Linux-aarch64
Key: CASSANDRA-13072
URL: https://issues.apache.org/jira/browse/CASSANDRA-13072
Project: Cassandra
Issue Type: Bug
Components: Core
Environment: Hardware: ARM aarch64
OS: Ubuntu 16.04.1 LTS
Reporter: Jun He
Attachments: compat_report.html
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:
{quote}
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]
{quote}
Analyze:
This issue is caused by bundled jna-4.0.0.jar which doesn't come with aarch64
native support. Replace ${CASSANDRA_SRC_ROOT}/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 between 4.0 and 4.2. Seems the
result is good (97.4%). Please point me what kind of tests should be taken to
upgrading jna to 4.2. Thanks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)