[
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)