Hi
I find there still something need to do:
Modity the Gossiper.java code like this:
public void start(InetAddress localEndPoint, int generationNbr)
{
localEndPoint_ = localEndPoint;
/* Get the seeds from the config and initialize them. */
Set<InetAddress> seedHosts = DatabaseDescriptor.getSeeds();
for (InetAddress seed : seedHosts)
{
if (seed.equals(localEndPoint))
continue;
seeds_.add(seed);
}
/* initialize the heartbeat state for this localEndPoint */
EndPointState localState = endPointStateMap_.get(localEndPoint_);
if ( localState == null )
{
HeartBeatState hbState = new HeartBeatState(generationNbr);
localState = new EndPointState(hbState);
localState.isAlive(true);
localState.isAGossiper(true);
endPointStateMap_.put(localEndPoint_, localState);
}
/* starts a timer thread */
if (gossipTimer_ == null) {
gossipTimer_ = new Timer(false); // makes the Gossiper
reentrant.
}
gossipTimer_.schedule( new GossipTimerTask(),
Gossiper.intervalInMillis_, Gossiper.intervalInMillis_);
}
and
public void stop()
{
gossipTimer_.cancel();
gossipTimer_ = null;
}
I don't know how to commit the patch, so I will learning it:)
On Fri, May 21, 2010 at 11:50 AM, Jonathan Ellis <[email protected]> wrote:
> Can you submit a patch to https://issues.apache.org/jira/browse/CASSANDRA?
>
> Thanks!
>
> On Thu, May 20, 2010 at 7:39 PM, Peng Guo <[email protected]> wrote:
> > Hi All
> >
> > This is my test code:
> > public static void main(String[] args) throws IOException,
> > InterruptedException {
> > System.setProperty("storage-config",
> > "D:\\apache-cassandra-0.6.1\\conf");
> >
> > StorageService.instance.initClient();
> >
> > StorageService.instance.stopClient();
> > }
> >
> > I find when I run this code, the process can't stop.
> >
> > for I use the jstack look at this process, I find the CONSISTENCY-MANAGER
> > thread is still running.
> >
> > So I modify the code in StorageService.java like this:
> >
> > public void stopClient()
> > {
> > Gossiper.instance.unregister(this);
> > Gossiper.instance.stop();
> > MessagingService.shutdown();
> > StageManager.shutdownNow();
> >
> > // this is added to stop the CONSISTENCY-MANAGER thread
> > consistencyManager_.shutdownNow();
> > }
> >
> > Can I commit this code in to svn branch?
> >
> > Thanks.
> >
> > --
> > Regards
> > Peng Guo
> >
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of Riptano, the source for professional Cassandra support
> http://riptano.com
>
--
Regards
Peng Guo