[
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)