incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <jbel...@gmail.com>
Subject Re: Can't stop org.apache.cassandra.service.StorageService.stopClient()
Date Fri, 21 May 2010 06:36:02 GMT
http://wiki.apache.org/cassandra/HowToContribute

On Thu, May 20, 2010 at 11:33 PM, Peng Guo <gpcuster@gmail.com> wrote:
> 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 <jbellis@gmail.com> 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 <gpcuster@gmail.com> 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
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

Mime
View raw message