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