On 5/13/11 10:08 AM, Maki Watanabe wrote:
I wrote a small JMX client to invoke getNaturalEndpoints.
It works fine at my test environment, but throws NPE for keyspace we
will use for our application (both 0.7.5).
Does anyone know quick resolution of that before I setting up
cassandra on eclipse to inspect what happens :)

thanks

Exception in thread "main" javax.management.RuntimeMBeanException:
java.lang.NullPointerException
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(DefaultMBeanServerInterceptor.java:877)
[snip]
        at 
javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:993)
        at my.test.getNaturalEndpoints.main(getNaturalEndpoints.java:32)
Caused by: java.lang.NullPointerException
        at 
org.apache.cassandra.db.Table.createReplicationStrategy(Table.java:266)
        at org.apache.cassandra.db.Table.<init>(Table.java:212)
        at org.apache.cassandra.db.Table.open(Table.java:106)
        at 
org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:1497)
[snip]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

Did you by chance see this after dropping the keyspace? I believe I've seen this as well. If so (and if I'm interpreting the stack trace and code correctly) it might be related to queuing an op for a keyspace that's been dropped without checking if its metadata is null rather than your code.

Reply via email to