[ https://issues.apache.org/jira/browse/CASSANDRA-6575?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13944649#comment-13944649 ]
Ryan McGuire commented on CASSANDRA-6575: ----------------------------------------- This got broken. I have deleted the JNA jar file from my lib directory, and the error message telling me that cassandra refuses to start is still working. However, if I use the boot_without_jna option it suggests, I get this traceback: {code} ERROR 23:28:22 Exception in thread Thread[MemtableFlushWriter:1,5,main] java.lang.NoClassDefFoundError: com/sun/jna/Native at org.apache.cassandra.io.util.Memory.asByteBuffers(Memory.java:305) ~[main/:na] at org.apache.cassandra.io.util.AbstractDataOutput.write(AbstractDataOutput.java:326) ~[main/:na] at org.apache.cassandra.io.sstable.IndexSummary$IndexSummarySerializer.serialize(IndexSummary.java:221) ~[main/:na] at org.apache.cassandra.io.sstable.SSTableReader.saveSummary(SSTableReader.java:709) ~[main/:na] at org.apache.cassandra.io.sstable.SSTableReader.saveSummary(SSTableReader.java:696) ~[main/:na] at org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:356) ~[main/:na] at org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:331) ~[main/:na] at org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:326) ~[main/:na] at org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:363) ~[main/:na] at org.apache.cassandra.db.Memtable$FlushRunnable.runWith(Memtable.java:321) ~[main/:na] at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) ~[main/:na] at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[main/:na] at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) ~[guava-16.0.jar:na] at org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1029) ~[main/:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_51] at java.lang.Thread.run(Thread.java:744) ~[na:1.7.0_51] Caused by: java.lang.ClassNotFoundException: com.sun.jna.Native at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_51] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_51] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_51] at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_51] at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_51] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0_51] at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_51] ... 17 common frames omitted {code} This was working at the time this ticket was closed before, but it's now broken on cassandra-2.1 HEAD. > By default, Cassandra should refuse to start if JNA can't be initialized > properly > --------------------------------------------------------------------------------- > > Key: CASSANDRA-6575 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6575 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Tupshin Harper > Assignee: Clément Lardeur > Priority: Minor > Labels: lhf > Fix For: 2.1 beta1 > > Attachments: trunk-6575-v2.patch, trunk-6575-v3.patch, > trunk-6575-v4.patch, trunk-6575.patch > > > Failure to have JNA working properly is such a common undetected problem that > it would be far preferable to have Cassandra refuse to startup unless JNA is > initialized. In theory, this should be much less of a problem with Cassandra > 2.1 due to CASSANDRA-5872, but even there, it might fail due to native lib > problems, or might otherwise be misconfigured. A yaml override, such as > boot_without_jna would allow the deliberate overriding of this policy. -- This message was sent by Atlassian JIRA (v6.2#6252)