I've just upgraded to hector 1.1-4 from 1.1-3 (Cassandra 1.2.5), and I'm getting this exception from the NodeAutoDiscoverService:
java.lang.NullPointerException
at me.prettyprint.cassandra.connection.NodeDiscovery.discoverNodes(NodeDiscovery.java:79)
at me.prettyprint.cassandra.connection.NodeDiscovery.doAddNodes(NodeDiscovery.java:52)
at me.prettyprint.cassandra.connection.NodeAutoDiscoverService.doAddNodes(NodeAutoDiscoverService.java:45)
at me.prettyprint.cassandra.connection.NodeAutoDiscoverService$QueryRing.run(NodeAutoDiscoverService.java:51)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Looks to me that when calling getOrCreateCluster for the first time, it tries to create a new thrift cluster, which tries to create a new HConnectionManager, which tries to create a new NodeAutoDiscoverService, which tries to create a new NodeDiscovery.
However, at that point the new cluster is still not added to the clusters list... so in NodeDiscovery, the call to HFactory.getCluster(connectionManager.getClusterName()) returns null.
It doesn't happen on 1.1-3
Did anyone encounter this ? bug ?
I would appreciate any help..
Thanks,
Asaf.