ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ignite TC Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-10514) Cache validation on the primary node may result in AssertionError
Date Tue, 04 Dec 2018 02:10:00 GMT

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

Ignite TC Bot commented on IGNITE-10514:
----------------------------------------

{panel:title=--&gt; Run :: All: Possible Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}JDBC Driver{color} [[tests 0 TIMEOUT , Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2456507]]

{color:#d04437}Basic 1{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=2454441]]
* IgniteBasicTestSuite: GridServiceReassignmentSelfTest.testNodeSingleton - 1,0% fails in
last 100 master runs.

{color:#d04437}Cache (Failover SSL){color} [[tests 2|https://ci.ignite.apache.org/viewLog.html?buildId=2456539]]
* IgniteCacheFailoverTestSuiteSsl: IgniteCacheSslStartStopSelfTest.testInvoke - 0,0% fails
in last 100 master runs.

{panel}
[TeamCity *--&gt; Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=2454496&amp;buildTypeId=IgniteTests24Java8_RunAll]

> Cache validation on the primary node may result in AssertionError
> -----------------------------------------------------------------
>
>                 Key: IGNITE-10514
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10514
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 2.8
>            Reporter: Vyacheslav Koptilin
>            Assignee: Vyacheslav Koptilin
>            Priority: Major
>             Fix For: 2.8
>
>
> Cache validation on the primary node, that was introduced by IGNITE-10413, may lead to
the following AssertionError.
> {code:java}
> java.lang.AssertionError: GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryCustomEvent
[customMsg=CacheAffinityChangeMessage [...]]
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1788)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1671)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3184)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:138)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:273)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:268)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1059)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:584)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:383)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:309)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:100)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:299)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1568)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1196)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1092)
> 	at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:505)
> 	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
> 	at java.lang.Thread.run(Thread.java:748)
> {code}
> Let's consider the following scenario:
>  * Start one node and upload data.
>  * Start a new node (note that this step triggers rebalancing).
>  * Start explicit transaction and try to update atomic cache (it is assumed that atomic
operation are allowed for use inside transactions, see Ignite system property DFLT_ALLOW_ATOMIC_OPS_IN_TX)
> {code:java}
> IgniteTransactions txs = ignite.transactions();
> try (Transaction tx = txs.txStart()) {
>     atomicCache.put();
>     tx.commit();
> }
> {code}
> Let's assume that the transaction mapped on the topology version that is related to {{NODE_JOIN}}
event,
>  on the other hand, the corresponding request {{GridNearAtomicAbstractUpdateRequest}}
can be validated on the primary node using the next topology version, triggered by {{CacheAffinityMessage}}.
> {code:java|title=GridDhtAtomicCache.java}
> private void updateAllAsyncInternal0() {
>     ...
>     if (validateCache) {
>         GridDhtTopologyFuture topFut = top.topologyVersionFuture();
>         // There is a chance that the topFut is not done yet!
>         assert topFut.isDone() : topFut;
>         Throwable err = topFut.validateCache(ctx, req.recovery(), false, null, null);
>         ...
>     }
> }{code}
> That is the root cause of the {{AssertionError}} mentioned above.



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

Mime
View raw message