You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Pereslegin (JIRA)" <ji...@apache.org> on 2018/09/04 13:05:00 UTC

[jira] [Commented] (IGNITE-5553) Ignite PDS 2: IgnitePersistentStoreDataStructuresTest testSet assertion error

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

Pavel Pereslegin commented on IGNITE-5553:
------------------------------------------

As described above, collocated IgniteSet uses on-heap caching known as "setDataMap" to support iterator, and I didn't find the optimal way to recover heap data after node restart ([details here|http://apache-ignite-developers.2346864.n4.nabble.com/IgniteSet-implementation-changes-required-tp23783p31923.html]).
On devlist we decided to remove this optimization and the changes are ready according to this discussion.

[~Mmuzaf], take a look at this patch please.

> Ignite PDS 2: IgnitePersistentStoreDataStructuresTest testSet assertion error
> -----------------------------------------------------------------------------
>
>                 Key: IGNITE-5553
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5553
>             Project: Ignite
>          Issue Type: Bug
>          Components: data structures, persistence
>    Affects Versions: 2.1
>            Reporter: Dmitriy Pavlov
>            Assignee: Pavel Pereslegin
>            Priority: Major
>              Labels: MakeTeamcityGreenAgain, Muted_test, test-fail
>             Fix For: 2.7
>
>
> h2. Notes-4435
> When IgniteSet is restored from persistence, size of set is always 0, [link to test history|http://ci.ignite.apache.org/project.html?projectId=Ignite20Tests&testNameId=-7043871603266099589&tab=testDetails].
> h2. Detailed description
> Unlike *IgniteQueue* which uses separate cache key to store its size *IgniteSet* stores it in a field of some class.
> Test from the link above shows very clearly that after restoring memory state from PDS all set values are restored correctly but size is lost.
> h2. Proposed solution
> One possible solution might be to do the same thing as *IgniteQueue* does: size of *IgniteSet* must be stored is cache instead of volatile in-memory fields of random classes.



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