ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Pereslegin (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IGNITE-8712) IgniteDataStructureUniqueNameTest#testUniqueNameMultithreaded fails sometimes in master.
Date Thu, 07 Jun 2018 11:28:00 GMT

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

Pavel Pereslegin edited comment on IGNITE-8712 at 6/7/18 11:27 AM:
-------------------------------------------------------------------

Data structures store information about their state (meta information) in the metacache (cache
key is the name of datastructure instance).
 When accessing data structure, a separate instance (*one per node*) is created and cached
in the local datastructures Map.
 When data structure method close() is invoked the item is removed from the metacache and
continuous query listener uses to nofify all nodes to remove associated local instance from
local datastruсtures Map.
 The problem occurs if the listener is notified asynchronously and the transaction (that initiated
update event) ends earlier.
 The listener on the *non-affinity node* is notified *synchronously* only if {{sync}} flag
of CacheContinuousQueryHandler is set to true, but for now this flag is always set to false
(except JCacheQuery). I updated signature of method executeInternalQuery() in CacheContinuousQueryManager
to change the value of this flag.


was (Author: xtern):
Data structures store information about their state (meta information) in the metacache (cache
key is the name of datastructure instance).
 When accessing data structure, a separate instance (*one per node*) is created and cached
in the local datastructures Map.
 When data structure method close() is invoked the item is removed from the metacache and
continuous query listener uses to nofify all nodes in the cluster to remove associated local
instance from local datastruсtures Map.
 The problem occurs if the listener is notified asynchronously and the transaction (that initiated
update event) ends earlier.
 The listener on the *non-affinity node* is notified *synchronously* only if {{sync}} flag
of CacheContinuousQueryHandler is set to true, but for now this flag is always set to false
(except JCacheQuery). I updated signature of method executeInternalQuery() in CacheContinuousQueryManager
to change the value of this flag.

> IgniteDataStructureUniqueNameTest#testUniqueNameMultithreaded fails sometimes in master.
> ----------------------------------------------------------------------------------------
>
>                 Key: IGNITE-8712
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8712
>             Project: Ignite
>          Issue Type: Bug
>          Components: data structures
>    Affects Versions: 2.5
>            Reporter: Pavel Pereslegin
>            Assignee: Pavel Pereslegin
>            Priority: Minor
>              Labels: MakeTeamcityGreenAgain
>
> https://ci.ignite.apache.org/project.html?projectId=IgniteTests24Java8&buildTypeId=&tab=testDetails&testNameId=5920780021361517364&order=TEST_STATUS_DESC&branch_IgniteTests24Java8=%3Cdefault%3E&itemsCount=10
> Typical output:
> {noformat}
> junit.framework.AssertionFailedError: expected:<class org.apache.ignite.internal.processors.datastructures.GridCacheSetProxy>
but was:<class org.apache.ignite.internal.processors.datastructures.GridCacheAtomicStampedImpl>
>     at org.apache.ignite.internal.processors.cache.datastructures.IgniteDataStructureUniqueNameTest.testUniqueName(IgniteDataStructureUniqueNameTest.java:385)
>     at org.apache.ignite.internal.processors.cache.datastructures.IgniteDataStructureUniqueNameTest.testUniqueNameMultithreaded(IgniteDataStructureUniqueNameTest.java:85)
> {noformat}



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

Mime
View raw message