[ 
https://issues.apache.org/jira/browse/CASSANDRA-6301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13814236#comment-13814236
 ] 

Brandon Williams commented on CASSANDRA-6301:
---------------------------------------------

Actually it does after CASSANDRA-6273, so you might see if that patch helps.

> nodetool fails with java.lang.UnsatisfiedLinkError (cannot find 
> libjemalloc.so) when JEMalloc is configured
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-6301
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6301
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>         Environment: Linux
> Cassandra 2.0.2
> libjemalloc.so in /usr/local/lib
>            Reporter: Nikolai Grigoriev
>            Priority: Trivial
>
> {code}
> >/opt/apache-cassandra-2.0.2/bin/nodetool ring
> Note: Ownership information does not include topology; for complete 
> information, specify a keyspace
> Datacenter: DC1
> ==========
> Address      Rack        Status State   Load            Owns                
> Token
>                                                                             
> 9208241795664305161
> 10.3.45.160  r1          Up     Normal  125.88 GB       16.41%              
> -9222548266947385654
> 10.3.45.160  r1          Up     Normal  125.88 GB       16.41%              
> -9177629719965963707
> 10.3.45.160  r1          Up     Normal  125.88 GB       16.41%              
> -9039272433194428886
> 10.3.45.160  r1          Up     Normal  125.88 GB       16.41%              
> -9037742357058937987
> ...
> Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load 
> library 'jemalloc': libjemalloc.so: cannot open shared object file: No such 
> file or directory
>         at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:164)
>         at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:237)
>         at com.sun.jna.Library$Handler.<init>(Library.java:140)
>         at com.sun.jna.Native.loadLibrary(Native.java:375)
>         at com.sun.jna.Native.loadLibrary(Native.java:359)
>         at 
> org.apache.cassandra.io.util.JEMallocAllocator.<init>(JEMallocAllocator.java:36)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>         at java.lang.Class.newInstance(Class.java:374)
>         at 
> org.apache.cassandra.utils.FBUtilities.construct(FBUtilities.java:488)
>         at 
> org.apache.cassandra.utils.FBUtilities.newOffHeapAllocator(FBUtilities.java:438)
>         at 
> org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:442)
>         at 
> org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:104)
>         at org.apache.cassandra.tools.NodeCmd.printRing(NodeCmd.java:286)
>         at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:1092)
> {code}
> In my conf/cassandra-env.sh I have:
> {code}
> # Configure the following for JEMallocAllocator and if jemalloc is not 
> available in the system
> # library path (Example: /usr/local/lib/). Usually "make install" will do the 
> right thing.
> export LD_LIBRARY_PATH=/usr/local/lib
> JVM_OPTS="$JVM_OPTS -Djava.library.path=/usr/local/lib/"
> {code}
> I believe this file is not sourced by the tools, this is why a tool that 
> might need that library cannot find it.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to