ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Gura (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IGNITE-7823) Separate cache for non collocated IgniteSet.
Date Mon, 09 Jul 2018 13:14:00 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-7823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16536891#comment-16536891
] 

Andrey Gura edited comment on IGNITE-7823 at 7/9/18 1:13 PM:
-------------------------------------------------------------

[~xtern] It isn't the best idea to use version in {{DataStructureProcessor}} class. I offer
introduce {{IgniteFeatures}} enum that will just keep named and ordered features that are
independent on version number. You can create bit set from this features and store this bit
set as node attribute. Simple testing bit in this set (which of course corresponds to order
number in enum) will answer to you on the question support node this feature or not.


was (Author: agura):
[~xtern] It isт't the best idea to use version in {{DataStructureProcessor}} class. I offer
introduce {{IgniteFeatures}} enum that will just keep named and ordered features that are
independent on version number. You can create bit set from this features and store this bit
set as node attribute. Simple testing bit in this set (which of course corresponds to order
number in enum) will answer to you on the question support node this feature or not.

> Separate cache for non collocated IgniteSet.
> --------------------------------------------
>
>                 Key: IGNITE-7823
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7823
>             Project: Ignite
>          Issue Type: New Feature
>          Components: data structures
>            Reporter: Andrey Kuznetsov
>            Assignee: Pavel Pereslegin
>            Priority: Major
>             Fix For: 2.7
>
>
> Currently, single data structures cache is shared between several collection instances
(IgniteQueue, IgniteSet).
> To support iterator() and size() IgniteSet maintains plain on-heap Java sets on every
node (see CacheDataStructuresManager.setDataMap). These sets duplicate backing-cache entries,
both primary and backup. For big non-collocated sets it's too expensive to maintain redundant
onheap data copies. The simplest way to avoid copies is to use separate cache for non-collocated
IgniteSet version; hence size of set is the same as size of backing cache, and also set iterator
is virtually the same as backing cache iterator. 
> The difference between exising set implementation and set based on separate cache should
be properly documented afterwards.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message