Hi,

I am trying to investigate ParNew promotion failures happening routinely in
production. As part of this exercise, I enabled
-XX:PrintHistogramBeforeFullGC and saw the following output. As you can see
there are a ton of Columns, ExpiringColumns and DeletedColumns before GC
ran and these numbers go down significantly right after GC. Why are there
so many expiring and deleted columns?



*Before GC:* num     #instances         #bytes  class name
----------------------------------------------
   1:     113539896     5449915008  java.nio.*HeapByteBuffer*
   2:      15979061     2681431488  [B
   3:      36364545     1745498160
edu.stanford.ppl.concurrent.SnapTreeMap$Node
   4:      23583282      754665024  org.apache.cassandra.db.*Column*
   5:       8745428      209890272
java.util.concurrent.ConcurrentSkipListMap$Node
   6:       5062619      202504760  org.apache.cassandra.db.*ExpiringColumn*
   7:         45261      198998216  [I
   8:       1801535      172947360
edu.stanford.ppl.concurrent.CopyOnWriteManager$COWEpoch
   9:       1473677      169570040  [J
  10:       4713304      113119296  java.lang.Double
  11:       3246729      103895328  org.apache.cassandra.db.*DeletedColumn*

*After GC:*
num     #instances         #bytes  class name
----------------------------------------------
1:      11807204     1505962728  [B
2:      12525536      601225728  java.nio.*HeapByteBuffer*
3:       8839073      424275504
edu.stanford.ppl.concurrent.SnapTreeMap$Node
4:       8194496      262223872  org.apache.cassandra.db.*Column*
cache.KeyCacheKey
17:        432119       17284760  org.apache.cassandra.db.*ExpiringColumn*
21:        351096       11235072  org.apache.cassandra.db.*DeletedColumn*

Reply via email to