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

Josh McKenzie commented on CASSANDRA-17205:
-------------------------------------------

One other detail here to call out: this changes from runtime evaluation of 
whether there's a Memtable associated with a ColumnFamilyStore to SSTableTidier 
time creation. Currently in the codebase we don't create a Tracker w/out a 
Memtable in it and then later add it; this functionality straddle is there to 
enable both Online and Offline usage of the same infrastructure, so we should 
be fine here.

 

But it's a change.

> File leaks will not be be detected and released due to strong self-references 
> in the tidier
> -------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-17205
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17205
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/SSTable
>            Reporter: Josh McKenzie
>            Assignee: Josh McKenzie
>            Priority: Normal
>
> LogTransaction.SSTableTidier holds a reference to a {{Tracker}} which holds 
> references to both a {{ColumnFamilyStore}} and a {{View}}, both of which hold 
> refs to SSTableReaders. As per the comment at the top of the SSTableTidier:
> {quote}// must not retain a reference to the SSTableReader, else leak 
> detection cannot kick in
> {quote}
> We shouldn't hold a reference to the Tracker here; long running unit tests 
> w/-Dcassandra.debugrefcount=true had this pop up.
> {code}ERROR [Strong-Reference-Leak-Detector:1] 2020-10-27T01:10:12,421 
> NoSpamLogger.java:97 - Strong self-ref loop detected{code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to