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

Ariel Weisberg edited comment on CASSANDRA-11120 at 2/4/16 10:01 PM:
---------------------------------------------------------------------

The path. Now with more line endings. The format of the output is "<field type> 
<containing class name>.<field name>-<field value type>". The first value is 
not in this format. It is a name string defined by the tidier.

It looks like {{SSTableReader$GlobalTidy}} has a path to 
{{SSTableReader$InstanceTidy}}. It should not have a path to the object being 
tidied ({{SSTableReader}}). The path is because {{readerMeterSyncFuture}} leads 
out to places we would rather it didn't. I think we can add a WeakReference and 
update the {{Ref.Visitor}} to ignore weak references. There is some trickiness 
there because {{com.sun.rmi.transport.WeakRef}} extends 
{{java.lang.ref.WeakReference}} to allow pinning/unpinning a weak reference by 
storing an additional strong reference.

{noformat}
[/var/lib/cassandra/data/keyspace1/standard1-7cddd4c1cacc11e5aa69f375b464842d/ma-14-big
 private java.util.concurrent.ScheduledFuture 
org.apache.cassandra.io.sstable.format.SSTableReader$GlobalTidy.readMeterSyncFuture-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
 final java.util.concurrent.ScheduledThreadPoolExecutor 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-java.util.concurrent.ScheduledThreadPoolExecutor
 private final java.util.HashSet 
java.util.concurrent.ThreadPoolExecutor.workers-java.util.HashSet
 private transient java.util.HashMap java.util.HashSet.map-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 final java.lang.Object 
java.util.HashMap$Node.key-java.util.concurrent.ThreadPoolExecutor$Worker
 final java.lang.Thread 
java.util.concurrent.ThreadPoolExecutor$Worker.thread-java.lang.Thread
 private java.lang.ThreadGroup java.lang.Thread.group-java.lang.ThreadGroup
 private final java.lang.ThreadGroup 
java.lang.ThreadGroup.parent-java.lang.ThreadGroup
 java.lang.Thread[] java.lang.ThreadGroup.threads-[Ljava.lang.Thread;
 java.lang.Thread[] java.lang.ThreadGroup.threads-java.lang.Thread
 private java.lang.Runnable 
java.lang.Thread.target-java.util.concurrent.ThreadPoolExecutor$Worker
 final java.util.concurrent.ThreadPoolExecutor 
java.util.concurrent.ThreadPoolExecutor$Worker.this$0-java.util.concurrent.ScheduledThreadPoolExecutor
 private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
 private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
 private java.util.concurrent.Callable 
java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter
 final java.lang.Runnable 
java.util.concurrent.Executors$RunnableAdapter.task-sun.rmi.transport.DGCImpl$1
 final sun.rmi.transport.DGCImpl 
sun.rmi.transport.DGCImpl$1.this$0-sun.rmi.transport.DGCImpl
 private java.util.Map sun.rmi.transport.DGCImpl.leaseTable-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 java.lang.Object 
java.util.HashMap$Node.value-sun.rmi.transport.DGCImpl$LeaseInfo
 java.util.Set sun.rmi.transport.DGCImpl$LeaseInfo.notifySet-java.util.HashSet
 private transient java.util.HashMap java.util.HashSet.map-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 final java.lang.Object java.util.HashMap$Node.key-sun.rmi.transport.Target
 private final sun.rmi.transport.WeakRef 
sun.rmi.transport.Target.weakImpl-sun.rmi.transport.WeakRef
 private java.lang.Object 
sun.rmi.transport.WeakRef.strongRef-javax.management.remote.rmi.RMIJRMPServerImpl
 private final java.util.List 
javax.management.remote.rmi.RMIServerImpl.clientList-java.util.ArrayList
 transient java.lang.Object[] 
java.util.ArrayList.elementData-[Ljava.lang.Object;
 transient java.lang.Object[] 
java.util.ArrayList.elementData-java.lang.ref.WeakReference
 private java.lang.Object 
java.lang.ref.Reference.referent-javax.management.remote.rmi.RMIConnectionImpl
 private final javax.management.MBeanServer 
javax.management.remote.rmi.RMIConnectionImpl.mbeanServer-com.sun.jmx.mbeanserver.JmxMBeanServer
 private volatile javax.management.MBeanServer 
com.sun.jmx.mbeanserver.JmxMBeanServer.mbsInterceptor-com.sun.jmx.interceptor.DefaultMBeanServerInterceptor
 private final transient com.sun.jmx.mbeanserver.Repository 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.repository-com.sun.jmx.mbeanserver.Repository
 private final java.util.Map 
com.sun.jmx.mbeanserver.Repository.domainTb-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 java.lang.Object java.util.HashMap$Node.value-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 java.lang.Object 
java.util.HashMap$Node.value-com.sun.jmx.mbeanserver.NamedObject
 private final javax.management.DynamicMBean 
com.sun.jmx.mbeanserver.NamedObject.object-com.sun.jmx.mbeanserver.StandardMBeanSupport
 private final java.lang.Object 
com.sun.jmx.mbeanserver.MBeanSupport.resource-org.apache.cassandra.db.ColumnFamilyStore
 public final org.apache.cassandra.db.Keyspace 
org.apache.cassandra.db.ColumnFamilyStore.keyspace-org.apache.cassandra.db.Keyspace
 private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-java.util.concurrent.ConcurrentHashMap
 private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-org.apache.cassandra.db.ColumnFamilyStore
 private final java.util.concurrent.ScheduledFuture 
org.apache.cassandra.db.ColumnFamilyStore.latencyCalculator-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
 final java.util.concurrent.ScheduledThreadPoolExecutor 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor
 private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
 private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
 private java.util.concurrent.Callable 
java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter
 final java.lang.Runnable 
java.util.concurrent.Executors$RunnableAdapter.task-org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable
 private final java.lang.Runnable 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.runnable-org.apache.cassandra.db.ColumnFamilyStore$3
 final org.apache.cassandra.db.ColumnFamilyStore 
org.apache.cassandra.db.ColumnFamilyStore$3.this$0-org.apache.cassandra.db.ColumnFamilyStore
 public final org.apache.cassandra.db.Keyspace 
org.apache.cassandra.db.ColumnFamilyStore.keyspace-org.apache.cassandra.db.Keyspace
 private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-java.util.concurrent.ConcurrentHashMap
 private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-org.apache.cassandra.db.ColumnFamilyStore
 private final org.apache.cassandra.db.lifecycle.Tracker 
org.apache.cassandra.db.ColumnFamilyStore.data-org.apache.cassandra.db.lifecycle.Tracker
 public final java.util.Collection 
org.apache.cassandra.db.lifecycle.Tracker.subscribers-java.util.concurrent.CopyOnWriteArrayList
 public final java.util.Collection 
org.apache.cassandra.db.lifecycle.Tracker.subscribers-org.apache.cassandra.db.compaction.CompactionStrategyManager
 private volatile org.apache.cassandra.db.compaction.AbstractCompactionStrategy 
org.apache.cassandra.db.compaction.CompactionStrategyManager.repaired-org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
 private final java.util.Set 
org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.sstables-java.util.HashSet
 private transient java.util.HashMap java.util.HashSet.map-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 final java.lang.Object 
java.util.HashMap$Node.key-org.apache.cassandra.io.sstable.format.big.BigTableReader
 private final 
org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier 
org.apache.cassandra.io.sstable.format.SSTableReader.tidy-org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier
 private org.apache.cassandra.utils.concurrent.Ref 
org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier.globalRef-org.apache.cassandra.utils.concurrent.Ref]
{noformat}


was (Author: aweisberg):
The path. Now with more line endings. The format of the output is "<field type> 
<containing class name>.<field name>-<field value type>". The first value is 
not in this format. It is a name string defined by the tidier.

It looks like {{SSTableReader$GlobalTidy}} has a path to 
{{SSTableReader$InstanceTidy}}. It should not have a path to the object being 
tidied ({{SSTableReader}}). The path is because {{readerMeterSyncFuture}} leads 
out to places we would rather it didn't. I think can add a WeakReference and 
update the {{Ref.Visitor}} to ignore weak references. There is some trickiness 
there because {{com.sun.rmi.transport.WeakRef}} extends 
{{java.lang.ref.WeakReference}} to allow pinning/unpinning a weak reference by 
storing an additional strong reference.

{noformat}
[/var/lib/cassandra/data/keyspace1/standard1-7cddd4c1cacc11e5aa69f375b464842d/ma-14-big
 private java.util.concurrent.ScheduledFuture 
org.apache.cassandra.io.sstable.format.SSTableReader$GlobalTidy.readMeterSyncFuture-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
 final java.util.concurrent.ScheduledThreadPoolExecutor 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-java.util.concurrent.ScheduledThreadPoolExecutor
 private final java.util.HashSet 
java.util.concurrent.ThreadPoolExecutor.workers-java.util.HashSet
 private transient java.util.HashMap java.util.HashSet.map-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 final java.lang.Object 
java.util.HashMap$Node.key-java.util.concurrent.ThreadPoolExecutor$Worker
 final java.lang.Thread 
java.util.concurrent.ThreadPoolExecutor$Worker.thread-java.lang.Thread
 private java.lang.ThreadGroup java.lang.Thread.group-java.lang.ThreadGroup
 private final java.lang.ThreadGroup 
java.lang.ThreadGroup.parent-java.lang.ThreadGroup
 java.lang.Thread[] java.lang.ThreadGroup.threads-[Ljava.lang.Thread;
 java.lang.Thread[] java.lang.ThreadGroup.threads-java.lang.Thread
 private java.lang.Runnable 
java.lang.Thread.target-java.util.concurrent.ThreadPoolExecutor$Worker
 final java.util.concurrent.ThreadPoolExecutor 
java.util.concurrent.ThreadPoolExecutor$Worker.this$0-java.util.concurrent.ScheduledThreadPoolExecutor
 private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
 private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
 private java.util.concurrent.Callable 
java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter
 final java.lang.Runnable 
java.util.concurrent.Executors$RunnableAdapter.task-sun.rmi.transport.DGCImpl$1
 final sun.rmi.transport.DGCImpl 
sun.rmi.transport.DGCImpl$1.this$0-sun.rmi.transport.DGCImpl
 private java.util.Map sun.rmi.transport.DGCImpl.leaseTable-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 java.lang.Object 
java.util.HashMap$Node.value-sun.rmi.transport.DGCImpl$LeaseInfo
 java.util.Set sun.rmi.transport.DGCImpl$LeaseInfo.notifySet-java.util.HashSet
 private transient java.util.HashMap java.util.HashSet.map-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 final java.lang.Object java.util.HashMap$Node.key-sun.rmi.transport.Target
 private final sun.rmi.transport.WeakRef 
sun.rmi.transport.Target.weakImpl-sun.rmi.transport.WeakRef
 private java.lang.Object 
sun.rmi.transport.WeakRef.strongRef-javax.management.remote.rmi.RMIJRMPServerImpl
 private final java.util.List 
javax.management.remote.rmi.RMIServerImpl.clientList-java.util.ArrayList
 transient java.lang.Object[] 
java.util.ArrayList.elementData-[Ljava.lang.Object;
 transient java.lang.Object[] 
java.util.ArrayList.elementData-java.lang.ref.WeakReference
 private java.lang.Object 
java.lang.ref.Reference.referent-javax.management.remote.rmi.RMIConnectionImpl
 private final javax.management.MBeanServer 
javax.management.remote.rmi.RMIConnectionImpl.mbeanServer-com.sun.jmx.mbeanserver.JmxMBeanServer
 private volatile javax.management.MBeanServer 
com.sun.jmx.mbeanserver.JmxMBeanServer.mbsInterceptor-com.sun.jmx.interceptor.DefaultMBeanServerInterceptor
 private final transient com.sun.jmx.mbeanserver.Repository 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.repository-com.sun.jmx.mbeanserver.Repository
 private final java.util.Map 
com.sun.jmx.mbeanserver.Repository.domainTb-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 java.lang.Object java.util.HashMap$Node.value-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 java.lang.Object 
java.util.HashMap$Node.value-com.sun.jmx.mbeanserver.NamedObject
 private final javax.management.DynamicMBean 
com.sun.jmx.mbeanserver.NamedObject.object-com.sun.jmx.mbeanserver.StandardMBeanSupport
 private final java.lang.Object 
com.sun.jmx.mbeanserver.MBeanSupport.resource-org.apache.cassandra.db.ColumnFamilyStore
 public final org.apache.cassandra.db.Keyspace 
org.apache.cassandra.db.ColumnFamilyStore.keyspace-org.apache.cassandra.db.Keyspace
 private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-java.util.concurrent.ConcurrentHashMap
 private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-org.apache.cassandra.db.ColumnFamilyStore
 private final java.util.concurrent.ScheduledFuture 
org.apache.cassandra.db.ColumnFamilyStore.latencyCalculator-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
 final java.util.concurrent.ScheduledThreadPoolExecutor 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor
 private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
 private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
 private java.util.concurrent.Callable 
java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter
 final java.lang.Runnable 
java.util.concurrent.Executors$RunnableAdapter.task-org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable
 private final java.lang.Runnable 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.runnable-org.apache.cassandra.db.ColumnFamilyStore$3
 final org.apache.cassandra.db.ColumnFamilyStore 
org.apache.cassandra.db.ColumnFamilyStore$3.this$0-org.apache.cassandra.db.ColumnFamilyStore
 public final org.apache.cassandra.db.Keyspace 
org.apache.cassandra.db.ColumnFamilyStore.keyspace-org.apache.cassandra.db.Keyspace
 private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-java.util.concurrent.ConcurrentHashMap
 private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-org.apache.cassandra.db.ColumnFamilyStore
 private final org.apache.cassandra.db.lifecycle.Tracker 
org.apache.cassandra.db.ColumnFamilyStore.data-org.apache.cassandra.db.lifecycle.Tracker
 public final java.util.Collection 
org.apache.cassandra.db.lifecycle.Tracker.subscribers-java.util.concurrent.CopyOnWriteArrayList
 public final java.util.Collection 
org.apache.cassandra.db.lifecycle.Tracker.subscribers-org.apache.cassandra.db.compaction.CompactionStrategyManager
 private volatile org.apache.cassandra.db.compaction.AbstractCompactionStrategy 
org.apache.cassandra.db.compaction.CompactionStrategyManager.repaired-org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
 private final java.util.Set 
org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.sstables-java.util.HashSet
 private transient java.util.HashMap java.util.HashSet.map-java.util.HashMap
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-[Ljava.util.HashMap$Node;
 transient java.util.HashMap$Node[] 
java.util.HashMap.table-java.util.HashMap$Node
 final java.lang.Object 
java.util.HashMap$Node.key-org.apache.cassandra.io.sstable.format.big.BigTableReader
 private final 
org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier 
org.apache.cassandra.io.sstable.format.SSTableReader.tidy-org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier
 private org.apache.cassandra.utils.concurrent.Ref 
org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier.globalRef-org.apache.cassandra.utils.concurrent.Ref]
{noformat}

> Leak Detected while bringing nodes up and down when under stress.
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-11120
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11120
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jeremiah Jordan
>            Priority: Minor
>             Fix For: 3.0.x
>
>
> So after CASSANDRA-10688 has been fixed I'm able to reproduce some leaks 
> consistently with my stress test suite that is doing repairs/stress/bringing 
> nodes up and down.
> One such example:
> {noformat}
> ERROR [Strong-Reference-Leak-Detector:1] 2016-02-03 23:32:38,827  
> NoSpamLogger.java:97 - Strong self-ref loop detected 
> [/var/lib/cassandra/data/keyspace1/standard1-7cddd4c1cacc11e5aa69f375b464842d/ma-14-big,
>  private java.util.concurrent.ScheduledFuture 
> org.apache.cassandra.io.sstable.format.SSTableReader$GlobalTidy.readMeterSyncFuture-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  final java.util.concurrent.ScheduledThreadPoolExecutor 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-java.util.concurrent.ScheduledThreadPoolExecutor,
>  private final java.util.HashSet 
> java.util.concurrent.ThreadPoolExecutor.workers-java.util.HashSet, private 
> transient java.util.HashMap java.util.HashSet.map-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> final java.lang.Object 
> java.util.HashMap$Node.key-java.util.concurrent.ThreadPoolExecutor$Worker, 
> final java.lang.Thread 
> java.util.concurrent.ThreadPoolExecutor$Worker.thread-java.lang.Thread, 
> private java.lang.ThreadGroup java.lang.Thread.group-java.lang.ThreadGroup, 
> private final java.lang.ThreadGroup 
> java.lang.ThreadGroup.parent-java.lang.ThreadGroup, java.lang.Thread[] 
> java.lang.ThreadGroup.threads-[Ljava.lang.Thread;, java.lang.Thread[] 
> java.lang.ThreadGroup.threads-java.lang.Thread, private java.lang.Runnable 
> java.lang.Thread.target-java.util.concurrent.ThreadPoolExecutor$Worker, final 
> java.util.concurrent.ThreadPoolExecutor 
> java.util.concurrent.ThreadPoolExecutor$Worker.this$0-java.util.concurrent.ScheduledThreadPoolExecutor,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  private java.util.concurrent.Callable 
> java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter,
>  final java.lang.Runnable 
> java.util.concurrent.Executors$RunnableAdapter.task-sun.rmi.transport.DGCImpl$1,
>  final sun.rmi.transport.DGCImpl 
> sun.rmi.transport.DGCImpl$1.this$0-sun.rmi.transport.DGCImpl, private 
> java.util.Map sun.rmi.transport.DGCImpl.leaseTable-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> java.lang.Object 
> java.util.HashMap$Node.value-sun.rmi.transport.DGCImpl$LeaseInfo, 
> java.util.Set 
> sun.rmi.transport.DGCImpl$LeaseInfo.notifySet-java.util.HashSet, private 
> transient java.util.HashMap java.util.HashSet.map-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> final java.lang.Object java.util.HashMap$Node.key-sun.rmi.transport.Target, 
> private final sun.rmi.transport.WeakRef 
> sun.rmi.transport.Target.weakImpl-sun.rmi.transport.WeakRef, private 
> java.lang.Object 
> sun.rmi.transport.WeakRef.strongRef-javax.management.remote.rmi.RMIJRMPServerImpl,
>  private final java.util.List 
> javax.management.remote.rmi.RMIServerImpl.clientList-java.util.ArrayList, 
> transient java.lang.Object[] 
> java.util.ArrayList.elementData-[Ljava.lang.Object;, transient 
> java.lang.Object[] 
> java.util.ArrayList.elementData-java.lang.ref.WeakReference, private 
> java.lang.Object 
> java.lang.ref.Reference.referent-javax.management.remote.rmi.RMIConnectionImpl,
>  private final javax.management.MBeanServer 
> javax.management.remote.rmi.RMIConnectionImpl.mbeanServer-com.sun.jmx.mbeanserver.JmxMBeanServer,
>  private volatile javax.management.MBeanServer 
> com.sun.jmx.mbeanserver.JmxMBeanServer.mbsInterceptor-com.sun.jmx.interceptor.DefaultMBeanServerInterceptor,
>  private final transient com.sun.jmx.mbeanserver.Repository 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.repository-com.sun.jmx.mbeanserver.Repository,
>  private final java.util.Map 
> com.sun.jmx.mbeanserver.Repository.domainTb-java.util.HashMap, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-[Ljava.util.HashMap$Node;, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-java.util.HashMap$Node, java.lang.Object 
> java.util.HashMap$Node.value-java.util.HashMap, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-[Ljava.util.HashMap$Node;, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-java.util.HashMap$Node, java.lang.Object 
> java.util.HashMap$Node.value-com.sun.jmx.mbeanserver.NamedObject, private 
> final javax.management.DynamicMBean 
> com.sun.jmx.mbeanserver.NamedObject.object-com.sun.jmx.mbeanserver.StandardMBeanSupport,
>  private final java.lang.Object 
> com.sun.jmx.mbeanserver.MBeanSupport.resource-org.apache.cassandra.db.ColumnFamilyStore,
>  public final org.apache.cassandra.db.Keyspace 
> org.apache.cassandra.db.ColumnFamilyStore.keyspace-org.apache.cassandra.db.Keyspace,
>  private final java.util.concurrent.ConcurrentMap 
> org.apache.cassandra.db.Keyspace.columnFamilyStores-java.util.concurrent.ConcurrentHashMap,
>  private final java.util.concurrent.ConcurrentMap 
> org.apache.cassandra.db.Keyspace.columnFamilyStores-org.apache.cassandra.db.ColumnFamilyStore,
>  private final java.util.concurrent.ScheduledFuture 
> org.apache.cassandra.db.ColumnFamilyStore.latencyCalculator-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  final java.util.concurrent.ScheduledThreadPoolExecutor 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  private java.util.concurrent.Callable 
> java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter,
>  final java.lang.Runnable 
> java.util.concurrent.Executors$RunnableAdapter.task-org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable,
>  private final java.lang.Runnable 
> org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.runnable-org.apache.cassandra.db.ColumnFamilyStore$3,
>  final org.apache.cassandra.db.ColumnFamilyStore 
> org.apache.cassandra.db.ColumnFamilyStore$3.this$0-org.apache.cassandra.db.ColumnFamilyStore,
>  public final org.apache.cassandra.db.Keyspace 
> org.apache.cassandra.db.ColumnFamilyStore.keyspace-org.apache.cassandra.db.Keyspace,
>  private final java.util.concurrent.ConcurrentMap 
> org.apache.cassandra.db.Keyspace.columnFamilyStores-java.util.concurrent.ConcurrentHashMap,
>  private final java.util.concurrent.ConcurrentMap 
> org.apache.cassandra.db.Keyspace.columnFamilyStores-org.apache.cassandra.db.ColumnFamilyStore,
>  private final org.apache.cassandra.db.lifecycle.Tracker 
> org.apache.cassandra.db.ColumnFamilyStore.data-org.apache.cassandra.db.lifecycle.Tracker,
>  public final java.util.Collection 
> org.apache.cassandra.db.lifecycle.Tracker.subscribers-java.util.concurrent.CopyOnWriteArrayList,
>  public final java.util.Collection 
> org.apache.cassandra.db.lifecycle.Tracker.subscribers-org.apache.cassandra.db.compaction.CompactionStrategyManager,
>  private volatile 
> org.apache.cassandra.db.compaction.AbstractCompactionStrategy 
> org.apache.cassandra.db.compaction.CompactionStrategyManager.repaired-org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,
>  private final java.util.Set 
> org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.sstables-java.util.HashSet,
>  private transient java.util.HashMap java.util.HashSet.map-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> final java.lang.Object 
> java.util.HashMap$Node.key-org.apache.cassandra.io.sstable.format.big.BigTableReader,
>  private final 
> org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier 
> org.apache.cassandra.io.sstable.format.SSTableReader.tidy-org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier,
>  private org.apache.cassandra.utils.concurrent.Ref 
> org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier.globalRef-org.apache.cassandra.utils.concurrent.Ref]
> {noformat}
> CC [~benedict]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to