You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Clément Lardeur (JIRA)" <ji...@apache.org> on 2014/02/06 19:06:10 UTC

[jira] [Updated] (CASSANDRA-6575) By default, Cassandra should refuse to start if JNA can't be initialized properly

     [ https://issues.apache.org/jira/browse/CASSANDRA-6575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Clément Lardeur updated CASSANDRA-6575:
---------------------------------------

    Attachment: trunk-6575-v3.patch

I have submitted a new patch that take into account a linking error during the registering of the native C library.

If an {{UnsatisfiedLinkError}} occurred during the initialization, the CLibrary should still be available.

When you call a native method you always call {{tryXXX()}} that ignore any linking error. 

This way Cassandra should refuse to start if and only if JNA is not present in the classpath or is obsolete.

> 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
>
>         Attachments: trunk-6575-v2.patch, trunk-6575-v3.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.1.5#6160)