Hi
My Cache key class is java.util.UUID
I am not using any collocation affinity, could you please elaborate how can
i use constant affinity to check if cache entry still exists on backup?

Thanks

On Mon, Nov 14, 2016 at 4:50 PM, Andrey Mashenkov <amashen...@gridgain.com>
wrote:

> Hi,
>
> On remove operation entry should be removed from primary node and backup
> nodes as well.
> Can you reproduce the issue? Can you check if entry was removed only from
> primary node and exists on backup, e.g. using constant affinity function?
>
> I think its possible that the backup is not being cleaned, due to key
> serialization issues. Would you provide key class implementation?
>
> On Sun, Nov 13, 2016 at 4:14 PM, Isaeed Mohanna <isae...@gmail.com> wrote:
>
>> Hi
>> There is no eviction policy since entries in the caches are removed by my
>> application. (calling IgniteCache.remove ).
>>
>> Digging through the core dump I can see that most resident items are
>> cache entries were the cachecontext.cachename points to EventsCache, as i
>> have mentioned before this cache has very frequent writes and deletions of
>> events (i am using remove to delete the events), however this cache is also
>> atomic,partitioned and have a backup of at least one so in case a node
>> fails the event is not lost. when calling remove on a cache, is the backup
>> of an entry removed as well? is it possible that the backup is not being
>> cleaned?
>>
>> Currently i am using the default garbage collector settings, i can't see
>> any spikes in performance due to GC, since i experience memory outage in
>> several days i am not sure i am collecting data more than the GC is able to
>> claim, I will try manually performing a GC when the system is about to
>> crash to see wither forcing a GC will clean the memory.
>>
>> Thank you for ur help
>>
>> On Fri, Nov 11, 2016 at 11:59 AM, Andrey Mashenkov <
>> amashen...@gridgain.com> wrote:
>>
>>> Hi Isaeed Mohanna,
>>>
>>> I don't see any eviction or expired policy configured. Is entry deletion
>>> performed by you application?
>>>
>>> Have you try to detect which of caches id grows unexpectedly?
>>> Have you analyse GC logs or tried to tune GC? Actually, you can putting
>>> data faster as garbage is collecting. This page may be helpful
>>> http://apacheignite.gridgain.org/v1.7/docs/performan
>>> ce-tips#tune-garbage-collection.
>>>
>>> Also you can get profile (with e.g. JavaFlightRecorder) of grid under
>>> load to understand what is really going on.
>>>
>>> Please let me know, if there are any issues.
>>>
>>>
>>>
>>> On Thu, Nov 10, 2016 at 10:10 AM, Isaeed Mohanna <isae...@gmail.com>
>>> wrote:
>>>
>>>> Hi
>>>> My cache configurations appear below.
>>>>
>>>> // Cache 1 - a cache of ~15 entities that has a date stamp that is
>>>> updated every 30 - 120 seconds
>>>> CacheConfiguration<?, ?> Cache1Cfg = new CacheConfiguration<>();
>>>> Cache1Cfg cheCfg.setName("Cache1Name");
>>>> Cache1Cfg .setCacheMode(CacheMode.REPLICATED);
>>>> Cache1Cfg .setAtomicityMode(CacheAtomicityMode.ATOMIC);
>>>> Cache1Cfg .setStartSize(50);
>>>>
>>>> // Cache 2 - A cache used as an ignite queue with frequent inserts and
>>>> removal from the queue
>>>> CacheConfiguration<?, ?> Cache2Cfg = new CacheConfiguration<>();
>>>> Cache2Cfg .setName("Cache2Name");
>>>> Cache2Cfg .setCacheMode(CacheMode.REPLICATED);
>>>> Cache2Cfg .setAtomicityMode(CacheAtomicityMode.ATOMIC);
>>>>
>>>> // Cache 3 - hundreds of entities updated daily
>>>> CacheConfiguration<?, ?> Cache3Cfg = new CacheConfiguration<>();
>>>> Cache3Cfg .setName("Cache3Name");
>>>> Cache3Cfg .setCacheMode(CacheMode.REPLICATED);
>>>> Cache3Cfg .setAtomicityMode(CacheAtomicityMode.ATOMIC);
>>>> Cache3Cfg .setIndexedTypes(UUID.class, SomeClass.class);
>>>>
>>>> // Cache 4 - Cache with very few writes and reads
>>>> CacheConfiguration<?, ?> Cache4Cfg = new CacheConfiguration<>();
>>>> Cache4Cfg .setName("Cache4Name");
>>>> Cache4Cfg .setCacheMode(CacheMode.REPLICATED);
>>>> Cache4Cfg .setAtomicityMode(CacheAtomicityMode.ATOMIC);
>>>>
>>>> // Events Cache - cache with very frequent writes and delete, acts as
>>>> events queue
>>>> CacheConfiguration<?, ?> eventsCacheConfig= new CacheConfiguration<>();
>>>> eventsCacheConfig.setName("EventsCache");
>>>> eventsCacheConfig.setCacheMode(CacheMode.PARTITIONED);
>>>> eventsCacheConfig.setAtomicityMode(CacheAtomicityMode.ATOMIC);
>>>> eventsCacheConfig.setIndexedTypes(UUID.class, SomeClass.class);
>>>> eventsCacheConfig.setBackups(1);
>>>> eventsCacheConfig.setOffHeapMaxMemory(0);
>>>>
>>>> // Failed Events Cache - cache with less writes and reads stores failed
>>>> events
>>>> CacheConfiguration<?, ?> failedEventsCacheConfig = new
>>>> CacheConfiguration<>();
>>>> failedEventsCacheConfig.setName("FailedEventsCache");
>>>> failedEventsCacheConfig.setCacheMode(CacheMode.PARTITIONED);
>>>> failedEventsCacheConfig.setAtomicityMode(CacheAtomicityMode.ATOMIC);
>>>> failedEventsCacheConfig.setIndexedTypes(UUID.class, EventEntity.class);
>>>> failedEventsCacheConfig.setBackups(1);
>>>> failedEventsCacheConfig.setOffHeapMaxMemory(0);
>>>>
>>>> // In addition i have one atomic reference
>>>> AtomicConfiguration atomicCfg = new AtomicConfiguration();
>>>> atomicCfg.setCacheMode(CacheMode.REPLICATED);
>>>> Thanks again
>>>>
>>>> On Wed, Nov 9, 2016 at 5:26 PM, Andrey Mashenkov <
>>>> amashen...@gridgain.com> wrote:
>>>>
>>>>> Hi Isaeed Mohanna,
>>>>>
>>>>> Would you please provide your cache configurations?
>>>>>
>>>>>
>>>>> On Wed, Nov 9, 2016 at 5:37 PM, Isaeed Mohanna <isae...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi
>>>>>> i have an ignite 1.7.0 cluster with 3 nodes running , i have 3
>>>>>> PARTITIONED
>>>>>> ATOMIC CACHES and 2 REPLICATED ATOMIC CACHES, Most of these caches are
>>>>>> populated with events data, so each cache entry is short lived its
>>>>>> inserted,
>>>>>> processed later by some task and removed. so the caches are pretty
>>>>>> much very
>>>>>> dynamic.
>>>>>> Recently the load in our system has increased (more events were
>>>>>> received and
>>>>>> generated) and we started experiencing out of memory fails once in
>>>>>> while
>>>>>> (several days depending on machine size).
>>>>>> I have created several heap dumps and noticed the largest retained
>>>>>> objects
>>>>>> in memory is by the following classes: GridDhtLocalPartition,
>>>>>> ConccurentHashMap8,ConccurentHashMap8$Node[].
>>>>>> I can see the GridDhtLocalPartition has a ConccurentHashMap8 so most
>>>>>> likely
>>>>>> all three reference the same thing.
>>>>>> My question what is this class and why does it retain memory,
>>>>>> entities in my
>>>>>> caches are usually short lived (several minutes in most caches) so i
>>>>>> would
>>>>>> expect the memory to be released? any hints on how to continue my
>>>>>> investigation would be great.
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context: http://apache-ignite-users.705
>>>>>> 18.x6.nabble.com/Cache-Memory-Behavior-GridDhtLocalPartition
>>>>>> -tp8835.html
>>>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to