Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
Hardware: ARM aarch64
OS: Ubuntu 16.04.1 LTS
-
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
Attachments
Issue Links
- is duplicated by
-
CASSANDRA-13791 unable to install apache-cassandra-3.11.0 in linux box
- Resolved
- is related to
-
CASSANDRA-13601 Changes requested to the cassandra's debian + rpm installers packages
- Open