Search code examples
javacassandrajnaarm64

Cassandra Startup failure on ARM64 machine (java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native)


When i am trying to start cassandra 3.9 and also 3.7 on ARM64 machine running 64 bit oracle JDK. But it is failing to start with no class def found error. There seems to be issue with JNA.

However same is running fine on ARM32 machines.

Below is the startup log of cassandra :-

pi@DietPi:~/cassandra/apache-cassandra-3.9/conf$ ../bin/cassandra -f

CompilerOracle: dontinline org/apache/cassandra/db/Columns$Serializer.deserializeLargeSubset (Lorg/apache/cassandra/io/util/DataInputPlus;Lorg/apache/cassandra/db/Columns;I)Lorg/apache/cassandra/db/Columns;
CompilerOracle: dontinline org/apache/cassandra/db/Columns$Serializer.serializeLargeSubset (Ljava/util/Collection;ILorg/apache/cassandra/db/Columns;ILorg/apache/cassandra/io/util/DataOutputPlus;)V
CompilerOracle: dontinline org/apache/cassandra/db/Columns$Serializer.serializeLargeSubsetSize (Ljava/util/Collection;ILorg/apache/cassandra/db/Columns;I)I
CompilerOracle: dontinline org/apache/cassandra/db/transform/BaseIterator.tryGetMoreContents ()Z
CompilerOracle: dontinline org/apache/cassandra/db/transform/StoppingTransformation.stop ()V
CompilerOracle: dontinline org/apache/cassandra/db/transform/StoppingTransformation.stopInPartition ()V
CompilerOracle: dontinline org/apache/cassandra/io/util/BufferedDataOutputStreamPlus.doFlush (I)V
CompilerOracle: dontinline org/apache/cassandra/io/util/BufferedDataOutputStreamPlus.writeExcessSlow ()V
CompilerOracle: dontinline org/apache/cassandra/io/util/BufferedDataOutputStreamPlus.writeSlow (JI)V
CompilerOracle: dontinline org/apache/cassandra/io/util/RebufferingInputStream.readPrimitiveSlowly (I)J
CompilerOracle: inline org/apache/cassandra/db/rows/UnfilteredSerializer.serializeRowBody (Lorg/apache/cassandra/db/rows/Row;ILorg/apache/cassandra/db/SerializationHeader;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
CompilerOracle: inline org/apache/cassandra/io/util/Memory.checkBounds (JJ)V
CompilerOracle: inline org/apache/cassandra/io/util/SafeMemory.checkBounds (JJ)V
CompilerOracle: inline org/apache/cassandra/utils/AsymmetricOrdering.selectBoundary (Lorg/apache/cassandra/utils/AsymmetricOrdering/Op;II)I
CompilerOracle: inline org/apache/cassandra/utils/AsymmetricOrdering.strictnessOfLessThan (Lorg/apache/cassandra/utils/AsymmetricOrdering/Op;)I
CompilerOracle: inline org/apache/cassandra/utils/BloomFilter.indexes (Lorg/apache/cassandra/utils/IFilter/FilterKey;)[J
CompilerOracle: inline org/apache/cassandra/utils/BloomFilter.setIndexes (JJIJ[J)V
CompilerOracle: inline org/apache/cassandra/utils/ByteBufferUtil.compare (Ljava/nio/ByteBuffer;[B)I
CompilerOracle: inline org/apache/cassandra/utils/ByteBufferUtil.compare ([BLjava/nio/ByteBuffer;)I
CompilerOracle: inline org/apache/cassandra/utils/ByteBufferUtil.compareUnsigned (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
CompilerOracle: inline org/apache/cassandra/utils/FastByteOperations$UnsafeOperations.compareTo (Ljava/lang/Object;JILjava/lang/Object;JI)I
CompilerOracle: inline org/apache/cassandra/utils/FastByteOperations$UnsafeOperations.compareTo (Ljava/lang/Object;JILjava/nio/ByteBuffer;)I
CompilerOracle: inline org/apache/cassandra/utils/FastByteOperations$UnsafeOperations.compareTo (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
CompilerOracle: inline org/apache/cassandra/utils/vint/VIntCoding.encodeVInt (JI)[B
INFO  01:33:11 Configuration location: file:/home/pi/cassandra/apache-cassandra-3.9/conf/cassandra.yaml
INFO  01:33:14 Node configuration:[allocate_tokens_for_keyspace=null; authenticator=AllowAllAuthenticator; authorizer=AllowAllAuthorizer; auto_bootstrap=true; auto_snapshot=true; batch_size_fail_threshold_in_kb=50; batch_size_warn_threshold_in_kb=5; batchlog_replay_throttle_in_kb=1024; broadcast_address=null; broadcast_rpc_address=null; buffer_pool_use_heap_if_exhausted=true; cas_contention_timeout_in_ms=1000; cdc_enabled=false; cdc_free_space_check_interval_ms=250; cdc_raw_directory=null; cdc_total_space_in_mb=null; client_encryption_options=<REDACTED>; cluster_name=Test Cluster; column_index_cache_size_in_kb=2; column_index_size_in_kb=64; commit_failure_policy=stop; commitlog_compression=null; commitlog_directory=null; commitlog_max_compression_buffers_in_pool=3; commitlog_periodic_queue_size=-1; commitlog_segment_size_in_mb=32; commitlog_sync=periodic; commitlog_sync_batch_window_in_ms=null; commitlog_sync_period_in_ms=10000; commitlog_total_space_in_mb=null; compaction_large_partition_warning_threshold_mb=100; compaction_throughput_mb_per_sec=16; concurrent_compactors=null; concurrent_counter_writes=32; concurrent_materialized_view_writes=32; concurrent_reads=32; concurrent_replicates=null; concurrent_writes=32; counter_cache_keys_to_save=2147483647; counter_cache_save_period=7200; counter_cache_size_in_mb=null; counter_write_request_timeout_in_ms=5000; credentials_cache_max_entries=1000; credentials_update_interval_in_ms=-1; credentials_validity_in_ms=2000; cross_node_timeout=false; data_file_directories=[Ljava.lang.String;@62379589; disk_access_mode=auto; disk_failure_policy=stop; disk_optimization_estimate_percentile=0.95; disk_optimization_page_cross_chance=0.1; disk_optimization_strategy=ssd; dynamic_snitch=true; dynamic_snitch_badness_threshold=0.1; dynamic_snitch_reset_interval_in_ms=600000; dynamic_snitch_update_interval_in_ms=100; enable_scripted_user_defined_functions=false; enable_user_defined_functions=false; enable_user_defined_functions_threads=true; encryption_options=null; endpoint_snitch=SimpleSnitch; file_cache_size_in_mb=null; gc_log_threshold_in_ms=200; gc_warn_threshold_in_ms=1000; hinted_handoff_disabled_datacenters=[]; hinted_handoff_enabled=true; hinted_handoff_throttle_in_kb=1024; hints_compression=null; hints_directory=null; hints_flush_period_in_ms=10000; incremental_backups=false; index_interval=null; index_summary_capacity_in_mb=null; index_summary_resize_interval_in_minutes=60; initial_token=null; inter_dc_stream_throughput_outbound_megabits_per_sec=200; inter_dc_tcp_nodelay=false; internode_authenticator=null; internode_compression=dc; internode_recv_buff_size_in_bytes=null; internode_send_buff_size_in_bytes=null; key_cache_keys_to_save=2147483647; key_cache_save_period=14400; key_cache_size_in_mb=null; listen_address=localhost; listen_interface=null; listen_interface_prefer_ipv6=false; listen_on_broadcast_address=false; max_hint_window_in_ms=10800000; max_hints_delivery_threads=2; max_hints_file_size_in_mb=128; max_mutation_size_in_kb=null; max_streaming_retries=3; max_value_size_in_mb=256; memtable_allocation_type=heap_buffers; memtable_cleanup_threshold=null; memtable_flush_writers=1; memtable_heap_space_in_mb=null; memtable_offheap_space_in_mb=null; min_free_space_per_drive_in_mb=50; native_transport_max_concurrent_connections=-1; native_transport_max_concurrent_connections_per_ip=-1; native_transport_max_frame_size_in_mb=256; native_transport_max_threads=128; native_transport_port=9042; native_transport_port_ssl=null; num_tokens=256; otc_coalescing_strategy=TIMEHORIZON; otc_coalescing_window_us=200; partitioner=org.apache.cassandra.dht.Murmur3Partitioner; permissions_cache_max_entries=1000; permissions_update_interval_in_ms=-1; permissions_validity_in_ms=2000; phi_convict_threshold=8.0; prepared_statements_cache_size_mb=null; range_request_timeout_in_ms=10000; read_request_timeout_in_ms=5000; request_scheduler=org.apache.cassandra.scheduler.NoScheduler; request_scheduler_id=null; request_scheduler_options=null; request_timeout_in_ms=10000; role_manager=CassandraRoleManager; roles_cache_max_entries=1000; roles_update_interval_in_ms=-1; roles_validity_in_ms=2000; row_cache_class_name=org.apache.cassandra.cache.OHCProvider; row_cache_keys_to_save=2147483647; row_cache_save_period=0; row_cache_size_in_mb=0; rpc_address=localhost; rpc_interface=null; rpc_interface_prefer_ipv6=false; rpc_keepalive=true; rpc_listen_backlog=50; rpc_max_threads=2147483647; rpc_min_threads=16; rpc_port=9160; rpc_recv_buff_size_in_bytes=null; rpc_send_buff_size_in_bytes=null; rpc_server_type=sync; saved_caches_directory=null; seed_provider=org.apache.cassandra.locator.SimpleSeedProvider{seeds=127.0.0.1}; server_encryption_options=<REDACTED>; snapshot_before_compaction=false; ssl_storage_port=7001; sstable_preemptive_open_interval_in_mb=50; start_native_transport=true; start_rpc=false; storage_port=7000; stream_throughput_outbound_megabits_per_sec=200; streaming_socket_timeout_in_ms=86400000; thrift_framed_transport_size_in_mb=15; thrift_max_message_length_in_mb=16; thrift_prepared_statements_cache_size_mb=null; tombstone_failure_threshold=100000; tombstone_warn_threshold=1000; tracetype_query_ttl=86400; tracetype_repair_ttl=604800; transparent_data_encryption_options=org.apache.cassandra.config.TransparentDataEncryptionOptions@4afcd809; trickle_fsync=false; trickle_fsync_interval_in_kb=10240; truncate_request_timeout_in_ms=60000; unlogged_batch_across_partitions_warn_threshold=10; user_defined_function_fail_timeout=1500; user_defined_function_warn_timeout=500; user_function_timeout_policy=die; windows_timer_interval=1; write_request_timeout_in_ms=2000]
INFO  01:33:14 DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap
INFO  01:33:15 Global memtable on-heap threshold is enabled at 242MB
INFO  01:33:15 Global memtable off-heap threshold is enabled at 242MB
WARN  01:33:15 Small commitlog volume detected at ../bin/../data/commitlog; setting commitlog_total_space_in_mb to 1843.  You can override this in cassandra.yaml
WARN  01:33:15 Small cdc volume detected at ../bin/../data/cdc_raw; setting cdc_total_space_in_mb to 921.  You can override this in cassandra.yaml
WARN  01:33:15 Only 5.650GiB free across all data volumes. Consider adding more capacity to your cluster or removing obsolete snapshots
INFO  01:33:15 Hostname: DietPi
INFO  01:33:15 JVM vendor/version: Java HotSpot(TM) 64-Bit Server VM/1.8.0_101
INFO  01:33:15 Heap size: 969.250MiB/969.250MiB
INFO  01:33:15 Code Cache Non-heap memory: init = 2097152(2048K) used = 796288(777K) committed = 2097152(2048K) max = 50331648(49152K)
INFO  01:33:15 Metaspace Non-heap memory: init = 0(0K) used = 16180072(15800K) committed = 16646144(16256K) max = -1(-1K)
INFO  01:33:15 Compressed Class Space Non-heap memory: init = 0(0K) used = 2068984(2020K) committed = 2228224(2176K) max = 1073741824(1048576K)
INFO  01:33:15 Par Eden Space Heap memory: init = 208142336(203264K) used = 83350320(81396K) committed = 208142336(203264K) max = 208142336(203264K)
INFO  01:33:15 Par Survivor Space Heap memory: init = 25952256(25344K) used = 0(0K) committed = 25952256(25344K) max = 25952256(25344K)
INFO  01:33:15 CMS Old Gen Heap memory: init = 782237696(763904K) used = 0(0K) committed = 782237696(763904K) max = 782237696(763904K)
INFO  01:33:15 Classpath: ../bin/../conf:../bin/../build/classes/main:../bin/../build/classes/thrift:../bin/../lib/HdrHistogram-2.1.9.jar:../bin/../lib/ST4-4.0.8.jar:../bin/../lib/airline-0.6.jar:../bin/../lib/antlr-runtime-3.5.2.jar:../bin/../lib/apache-cassandra-3.9.jar:../bin/../lib/apache-cassandra-clientutil-3.9.jar:../bin/../lib/apache-cassandra-thrift-3.9.jar:../bin/../lib/asm-5.0.4.jar:../bin/../lib/caffeine-2.2.6.jar:../bin/../lib/cassandra-driver-core-3.0.1-shaded.jar:../bin/../lib/commons-cli-1.1.jar:../bin/../lib/commons-codec-1.2.jar:../bin/../lib/commons-lang3-3.1.jar:../bin/../lib/commons-math3-3.2.jar:../bin/../lib/compress-lzf-0.8.4.jar:../bin/../lib/concurrent-trees-2.4.0.jar:../bin/../lib/concurrentlinkedhashmap-lru-1.4.jar:../bin/../lib/disruptor-3.0.1.jar:../bin/../lib/ecj-4.4.2.jar:../bin/../lib/guava-18.0.jar:../bin/../lib/high-scale-lib-1.0.6.jar:../bin/../lib/hppc-0.5.4.jar:../bin/../lib/jackson-core-asl-1.9.2.jar:../bin/../lib/jackson-mapper-asl-1.9.2.jar:../bin/../lib/jamm-0.3.0.jar:../bin/../lib/javax.inject.jar:../bin/../lib/jbcrypt-0.3m.jar:../bin/../lib/jcl-over-slf4j-1.7.7.jar:../bin/../lib/jflex-1.6.0.jar:../bin/../lib/jna-4.0.0.jar:../bin/../lib/joda-time-2.4.jar:../bin/../lib/json-simple-1.1.jar:../bin/../lib/libthrift-0.9.2.jar:../bin/../lib/log4j-over-slf4j-1.7.7.jar:../bin/../lib/logback-classic-1.1.3.jar:../bin/../lib/logback-core-1.1.3.jar:../bin/../lib/lz4-1.3.0.jar:../bin/../lib/metrics-core-3.1.0.jar:../bin/../lib/metrics-jvm-3.1.0.jar:../bin/../lib/metrics-logback-3.1.0.jar:../bin/../lib/netty-all-4.0.39.Final.jar:../bin/../lib/ohc-core-0.4.3.jar:../bin/../lib/ohc-core-j8-0.4.3.jar:../bin/../lib/primitive-1.0.jar:../bin/../lib/reporter-config-base-3.0.0.jar:../bin/../lib/reporter-config3-3.0.0.jar:../bin/../lib/sigar-1.6.4.jar:../bin/../lib/slf4j-api-1.7.7.jar:../bin/../lib/snakeyaml-1.11.jar:../bin/../lib/snappy-java-1.1.1.7.jar:../bin/../lib/snowball-stemmer-1.3.0.581.1.jar:../bin/../lib/stream-2.5.2.jar:../bin/../lib/thrift-server-0.3.7.jar:../bin/../lib/jsr223/*/*.jar:../bin/../lib/jamm-0.3.0.jar
INFO  01:33:15 JVM Arguments: [-Xloggc:../bin/../logs/gc.log, -ea, -XX:+UseThreadPriorities, -XX:ThreadPriorityPolicy=42, -XX:+HeapDumpOnOutOfMemoryError, -Xss256k, -XX:StringTableSize=1000003, -XX:+AlwaysPreTouch, -XX:-UseBiasedLocking, -XX:+UseTLAB, -XX:+ResizeTLAB, -XX:+PerfDisableSharedMem, -Djava.net.preferIPv4Stack=true, -XX:+UseParNewGC, -XX:+UseConcMarkSweepGC, -XX:+CMSParallelRemarkEnabled, -XX:SurvivorRatio=8, -XX:MaxTenuringThreshold=1, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:CMSWaitDuration=10000, -XX:+CMSParallelInitialMarkEnabled, -XX:+CMSEdenChunksRecordAlways, -XX:+CMSClassUnloadingEnabled, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -XX:+PrintHeapAtGC, -XX:+PrintTenuringDistribution, -XX:+PrintGCApplicationStoppedTime, -XX:+PrintPromotionFailure, -XX:+UseGCLogFileRotation, -XX:NumberOfGCLogFiles=10, -XX:GCLogFileSize=10M, -Xms994M, -Xmx994M, -Xmn248M, -XX:+UseCondCardMark, -XX:CompileCommandFile=../bin/../conf/hotspot_compiler, -javaagent:../bin/../lib/jamm-0.3.0.jar, -Dcassandra.jmx.local.port=7199, -Dcom.sun.management.jmxremote.authenticate=false, -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password, -Djava.library.path=../bin/../lib/sigar-bin, -Djava.io.tmpdir=/home/pi/tmp, -Dlogback.configurationFile=logback.xml, -Dcassandra.logdir=../bin/../logs, -Dcassandra.storagedir=../bin/../data, -Dcassandra-foreground=yes]
WARN  01:33:15 JNA link failure, one or more native method will be unavailable.
WARN  01:33:15 jemalloc shared library could not be preloaded to speed up memory allocations
WARN  01:33:15 JMX is not enabled to receive remote connections. Please see cassandra-env.sh for more info.
INFO  01:33:15 Initializing SIGAR library
INFO  01:33:15 Could not initialize SIGAR library org.hyperic.sigar.Sigar.getFileSystemListNative()[Lorg/hyperic/sigar/FileSystem; 
INFO  01:33:15 Sigar could not be initialized, test for checking degraded mode omitted.
INFO  01:33:16 Initialized prepared statement caches with 10 MB (native) and 10 MB (Thrift)
INFO  01:33:19 Initializing system.IndexInfo
INFO  01:33:23 Initializing system.batches
INFO  01:33:23 Initializing system.paxos
INFO  01:33:23 Initializing system.local
INFO  01:33:23 Initializing system.peers
INFO  01:33:23 Initializing system.peer_events
INFO  01:33:23 Initializing system.range_xfers
INFO  01:33:23 Initializing system.compaction_history
INFO  01:33:23 Initializing system.sstable_activity
INFO  01:33:23 Initializing system.size_estimates
INFO  01:33:23 Initializing system.available_ranges
INFO  01:33:23 Initializing system.views_builds_in_progress
INFO  01:33:24 Initializing system.built_views
INFO  01:33:24 Initializing system.hints
INFO  01:33:24 Initializing system.batchlog
INFO  01:33:24 Initializing system.schema_keyspaces
INFO  01:33:24 Initializing system.schema_columnfamilies
INFO  01:33:24 Initializing system.schema_columns
INFO  01:33:24 Initializing system.schema_triggers
INFO  01:33:24 Initializing system.schema_usertypes
INFO  01:33:24 Initializing system.schema_functions
INFO  01:33:24 Initializing system.schema_aggregates
INFO  01:33:24 Not submitting build tasks for views in keyspace system as storage service is not initialized
INFO  01:33:25 Configured JMX server at: service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:7199/jmxrmi
Exception (java.lang.RuntimeException) encountered during startup: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
    at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:403)
    at org.apache.cassandra.db.SystemKeyspace.forceBlockingFlush(SystemKeyspace.java:793)
    at org.apache.cassandra.db.SystemKeyspace.removeTruncationRecord(SystemKeyspace.java:639)
    at org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:541)
    at org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
    at org.apache.cassandra.schema.LegacySchemaMigrator.lambda$unloadLegacySchemaTables$1(LegacySchemaMigrator.java:137)
    at java.lang.Iterable.forEach(Iterable.java:75)
    at org.apache.cassandra.schema.LegacySchemaMigrator.unloadLegacySchemaTables(LegacySchemaMigrator.java:137)
    at org.apache.cassandra.schema.LegacySchemaMigrator.migrate(LegacySchemaMigrator.java:83)
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:254)
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:601)
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:730)
Caused by: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:399)
    ... 11 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
    at org.apache.cassandra.utils.memory.MemoryUtil.allocate(MemoryUtil.java:98)
    at org.apache.cassandra.io.util.Memory.<init>(Memory.java:74)
    at org.apache.cassandra.io.util.SafeMemory.<init>(SafeMemory.java:32)
    at org.apache.cassandra.io.compress.CompressionMetadata$Writer.<init>(CompressionMetadata.java:316)
    at org.apache.cassandra.io.compress.CompressionMetadata$Writer.open(CompressionMetadata.java:330)
    at org.apache.cassandra.io.compress.CompressedSequentialWriter.<init>(CompressedSequentialWriter.java:94)
    at org.apache.cassandra.io.sstable.format.big.BigTableWriter.<init>(BigTableWriter.java:84)
    at org.apache.cassandra.io.sstable.format.big.BigFormat$WriterFactory.open(BigFormat.java:92)
    at org.apache.cassandra.io.sstable.format.SSTableWriter.create(SSTableWriter.java:101)
    at org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.create(SimpleSSTableMultiWriter.java:119)
    at org.apache.cassandra.db.compaction.AbstractCompactionStrategy.createSSTableMultiWriter(AbstractCompactionStrategy.java:553)
    at org.apache.cassandra.db.compaction.CompactionStrategyManager.createSSTableMultiWriter(CompactionStrategyManager.java:905)
    at org.apache.cassandra.db.ColumnFamilyStore.createSSTableMultiWriter(ColumnFamilyStore.java:506)
    at org.apache.cassandra.db.Memtable$FlushRunnable.createFlushWriter(Memtable.java:483)
    at org.apache.cassandra.db.Memtable$FlushRunnable.<init>(Memtable.java:422)
    at org.apache.cassandra.db.Memtable$FlushRunnable.<init>(Memtable.java:399)
    at org.apache.cassandra.db.Memtable.flushRunnables(Memtable.java:277)
    at org.apache.cassandra.db.ColumnFamilyStore$Flush.flushMemtable(ColumnFamilyStore.java:1117)
    at org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1084)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
ERROR 01:33:25 Exception encountered during startup
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
    at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:403) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.SystemKeyspace.forceBlockingFlush(SystemKeyspace.java:793) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.SystemKeyspace.removeTruncationRecord(SystemKeyspace.java:639) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:541) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.schema.LegacySchemaMigrator.lambda$unloadLegacySchemaTables$1(LegacySchemaMigrator.java:137) ~[apache-cassandra-3.9.jar:3.9]
    at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_101]
    at org.apache.cassandra.schema.LegacySchemaMigrator.unloadLegacySchemaTables(LegacySchemaMigrator.java:137) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.schema.LegacySchemaMigrator.migrate(LegacySchemaMigrator.java:83) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:254) [apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:601) [apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:730) [apache-cassandra-3.9.jar:3.9]
Caused by: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_101]
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_101]
    at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:399) ~[apache-cassandra-3.9.jar:3.9]
    ... 11 common frames omitted
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
    at org.apache.cassandra.utils.memory.MemoryUtil.allocate(MemoryUtil.java:98) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.io.util.Memory.<init>(Memory.java:74) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.io.util.SafeMemory.<init>(SafeMemory.java:32) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.io.compress.CompressionMetadata$Writer.<init>(CompressionMetadata.java:316) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.io.compress.CompressionMetadata$Writer.open(CompressionMetadata.java:330) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.io.compress.CompressedSequentialWriter.<init>(CompressedSequentialWriter.java:94) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.io.sstable.format.big.BigTableWriter.<init>(BigTableWriter.java:84) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.io.sstable.format.big.BigFormat$WriterFactory.open(BigFormat.java:92) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.io.sstable.format.SSTableWriter.create(SSTableWriter.java:101) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.create(SimpleSSTableMultiWriter.java:119) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.compaction.AbstractCompactionStrategy.createSSTableMultiWriter(AbstractCompactionStrategy.java:553) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.compaction.CompactionStrategyManager.createSSTableMultiWriter(CompactionStrategyManager.java:905) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.ColumnFamilyStore.createSSTableMultiWriter(ColumnFamilyStore.java:506) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.Memtable$FlushRunnable.createFlushWriter(Memtable.java:483) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.Memtable$FlushRunnable.<init>(Memtable.java:422) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.Memtable$FlushRunnable.<init>(Memtable.java:399) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.Memtable.flushRunnables(Memtable.java:277) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.ColumnFamilyStore$Flush.flushMemtable(ColumnFamilyStore.java:1117) ~[apache-cassandra-3.9.jar:3.9]
    at org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1084) ~[apache-cassandra-3.9.jar:3.9]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_101]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_101]
    at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_101]

What am i doing wrong here?


Solution

  • Seems you have hit similar issue as JNA link issue while starting cassandra RHEL 6.5

    You can try:

    This issue is caused due to noexec flag on the /tmp folder.
    
    I then decided to change the tmp folder by changing tmpdir using option:
    -Djava.io.tmpdir=/home/cassandra/tmp That fixed the issue.
    
    I added the options in cassandra-env.sh file. Added following statement -
    
    JVM_OPTS="$JVM_OPTS -Djava.io.tmpdir=/home/cassandra/tmp"