[ https://issues.apache.org/jira/browse/IGNITE-2389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Ozerov updated IGNITE-2389: ------------------------------------ Fix Version/s: (was: 2.0) 2.1 > Need to add ability to swap the queue if it's too long > ------------------------------------------------------ > > Key: IGNITE-2389 > URL: https://issues.apache.org/jira/browse/IGNITE-2389 > Project: Ignite > Issue Type: Improvement > Components: data structures > Reporter: Valentin Kulichenko > Fix For: 2.1 > > > In some cases there can be a requirement to start swapping new queue elements > to avoid out of memory errors. For example, if the consumer temporarily > stopped for some reason, but the producer still adds elements. > We can do this based on cache swap space and evictions. I think we should: > # Add max allowed in-memory elements property to {{CollectionConfiguration}}. > We can also support limit by memory size. > # Implement special eviction policy that will evict new queue elements if > limits are reached. > # Automatically unswap latest elements when consumer resumes polling (can be > achieved by a background process). > In case of {{IgniteSet}}, limits should be also honored, but here we don't > have ordering. So I think we can use our standard LRU, but make sure that > only elements are swapped. Header and other meta objects should be always in > memory. -- This message was sent by Atlassian JIRA (v6.3.15#6346)