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

Dave Brosius commented on CASSANDRA-5635:
-----------------------------------------

On trunk at least, what's keeping it alive is the threads

COMMIT-LOG-ALLOCATOR  (CommitLogSegmentManager.java)
PERIODIC-COMMIT-LOG-SYNCER (PeriodicCommitLogService.java)
ACCEPT-(ip) (MessagingService)

not of which are terminated by CassandraDaemon.stop()

> ThriftServer.stop() hangs forever
> ---------------------------------
>
>                 Key: CASSANDRA-5635
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5635
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.4
>            Reporter: Robert Stupp
>
> I've written a very small main() method just to start to test "how to embed 
> Cassandra". But the code hangs while executing CassandraDaemon.stop()...
> I've used a default {{cassandra.yaml}} file.
> {noformat}
> cassandraDaemon = new CassandraDaemon();
> cassandraDaemon.init(null);
> cassandraDaemon.start();
> cassandraDaemon.stop();
> {noformat}
> {{CassandraDaemon.stop()}} calls {{ThriftServer.stop()}, which ends somehow 
> in {{TCustomServerSocket.close()}}, which sets its field 
> {{serverSocket=null}}. This causes {{CustomTThreadPoolServer.server()}} to 
> loop forever, because it's {{stopped}} field is still {{false}} - 
> {{TServerTransport.accept()}} immediatly throws a {{TTransportException}} 
> because {{TCustomServerSocket}}'s {{serverSocket}} is {{null}}.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to