[
https://issues.apache.org/jira/browse/GEODE-2823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15990651#comment-15990651
]
ASF subversion and git services commented on GEODE-2823:
--------------------------------------------------------
Commit 8da1ba353185c931d7d1626ca9e188b4f38d0761 in geode's branch
refs/heads/develop from [~barry.oglesby]
[ https://git-wip-us.apache.org/repos/asf?p=geode.git;h=8da1ba3 ]
GEODE-2823: The listener now forces a copy of the value to be made
> The LuceneEventListener caues deserialized values to be stored in the entry
> when the region contains DataSerializable or Serializable values
> --------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: GEODE-2823
> URL: https://issues.apache.org/jira/browse/GEODE-2823
> Project: Geode
> Issue Type: Bug
> Components: lucene
> Reporter: Barry Oglesby
>
> If the {{Region}} contains {{DataSerializable}} or {{Serializable}} values,
> then each {{RegionEntry}} contains a {{VMCachedDeserializable}}. When
> {{LuceneEventListener.process}} calls {{entry.getValue()}}, the value is
> deserialized and left in that state in the {{VMCachedDeserializable}}.
> Below is a live histogram for the no index test.
> {noformat}
> num #instances #bytes class name
> ----------------------------------------------
> 1: 101901 6088544 [B
> 2: 100001 5600056
> org.apache.geode.internal.cache.VersionedThinRegionEntryHeapStringKey1
> 3: 36346 3236272 [C
> 4: 100000 2400000
> org.apache.geode.internal.cache.VMCachedDeserializable
> 5: 3792 905488
> [Lorg.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap$HashEntry;
> 6: 36161 867864 java.lang.String
> 7: 6546 750464 java.lang.Class
> 8: 8051 523264 [Ljava.lang.Object;
> 9: 5151 453288 java.lang.reflect.Method
> 10: 704 405280 [J
> 11: 8390 402720
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync
> 12: 11796 377472
> java.util.concurrent.ConcurrentHashMap$Node
> 13: 11379 364128 java.util.HashMap$Node
> 14: 597 357552
> [Ljava.util.concurrent.ConcurrentHashMap$Node;
> 15: 3409 319888 [Ljava.util.HashMap$Node;
> 16: 7754 310160 java.util.LinkedHashMap$Entry
> 17: 5817 279216 java.util.TreeMap
> 18: 4031 257984 java.util.concurrent.ConcurrentHashMap
> 19: 6385 255400 java.util.TreeMap$Entry
> 20: 13587 217392 java.lang.Object
> Total 611397 28902304
> {noformat}
> Below is a live histogram for the index test. The main thing to notice
> regarding this bug is the 100000 Trade instances.
> {noformat}
> num #instances #bytes class name
> ----------------------------------------------
> 1: 338275 16181384 [C
> 2: 322931 15500688
> org.apache.geode.internal.cache.TombstoneService$Tombstone
> 3: 220717 12360152
> org.apache.geode.internal.cache.VersionedThinRegionEntryHeapObjectKey
> 4: 197837 11078872
> org.apache.geode.internal.cache.VersionedThinRegionEntryHeapStringKey1
> 5: 338036 8112864 java.lang.String
> 6: 323128 7755072
> java.util.concurrent.ConcurrentLinkedQueue$Node
> 7: 20501 5658048 [B
> 8: 162649 5204768 java.util.UUID
> 9: 159275 3822600
> org.apache.geode.cache.lucene.internal.filesystem.ChunkKey
> 10: 5600 3787016
> [Lorg.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap$HashEntry;
> 11: 100000 3200000 Trade
> 12: 103487 2483688
> org.apache.geode.internal.cache.VMCachedDeserializable
> 13: 63494 2031808 java.util.HashMap$Node
> 14: 13974 1241616 [Ljava.util.HashMap$Node;
> 15: 25456 1221888 java.util.HashMap
> 16: 7396 843664 java.lang.Class
> 17: 10948 726856 [Ljava.lang.Object;
> 18: 11357 726848
> org.apache.geode.internal.cache.VersionedThinRegionEntryHeapStringKey2
> 19: 15856 634240 java.util.TreeMap$Entry
> 20: 1067 614992
> [Ljava.util.concurrent.ConcurrentHashMap$Node;
> Total 2856366 118323456
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)