[
https://issues.apache.org/jira/browse/CASSANDRA-13605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16049783#comment-16049783
]
Yuki Morishita commented on CASSANDRA-13605:
--------------------------------------------
You are right, and it's been a problem for awhile.
FYI, right now we (try to) avoid this by checking if the process is running in
Cassandra daemon or tool(CASSANDRA-8616), but it is a temporary fix and does
not prevent from future code change.
> threads created during classload-static sections open commitlog handles
> -----------------------------------------------------------------------
>
> Key: CASSANDRA-13605
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13605
> Project: Cassandra
> Issue Type: Bug
> Components: Core, Tools
> Reporter: Nathan Jackels
> Priority: Minor
> Fix For: 3.0.x
>
>
> Some classes, such as org.apache.cassandra.db.commitlog.CommitLog create
> threads in static blocks. Some of these threads then open file-descriptors
> for the commitlog (and possibly sstables).
> {noformat}
> ...
> public static final CommitLog instance = CommitLog.construct();
> ...
> private static CommitLog construct()
> {
> CommitLog log = new CommitLog(DatabaseDescriptor.getCommitLogLocation(),
> CommitLogArchiver.construct());
> ....
> return log.start();
> }
> ...
> {noformat}
> If this occurs in a non-daemon process such as nodetool, or any of the other
> sstable tools it could prevent a CassandraDaemon from deleting commitlog
> files.
> These threads should only open files automatically if the process is a
> CassandraDaemon, not if it's a utility.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]