ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Scherbakov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-11867) Fix flaky test GridCacheRebalancingWithAsyncClearingTest#testCorrectRebalancingCurrentlyRentingPartitions
Date Thu, 06 Jun 2019 09:40:00 GMT

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

Alexei Scherbakov commented on IGNITE-11867:
--------------------------------------------

[~ivan.glukos] [~Jokser] 

Please review.

The main idea for the fix is to enforce a relation: current rebalance happens before next
partition cleaning preventing race between rebalancing and clearing.

I checked timed out runs and do not see any obvious relation to the patch.
MVCC PDS3 and PDS4 also time out in base (master) branch.




> Fix flaky test GridCacheRebalancingWithAsyncClearingTest#testCorrectRebalancingCurrentlyRentingPartitions
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-11867
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11867
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Alexei Scherbakov
>            Assignee: Alexei Scherbakov
>            Priority: Major
>             Fix For: 2.8
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> {noformat}
> java.lang.AssertionError: Value for 4 is null
> at org.junit.Assert.fail(Assert.java:88)
> at org.junit.Assert.assertTrue(Assert.java:41)
> at org.junit.Assert.assertNotNull(Assert.java:621)
> at org.apache.ignite.internal.processors.cache.distributed.rebalancing.GridCacheRebalancingWithAsyncClearingTest.testCorrectRebalancingCurrentlyRentingPartitions(GridCacheRebalancingWithAsyncClearingTest.java:280)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.apache.ignite.testframework.junits.GridAbstractTest$6.run(GridAbstractTest.java:2148)
> at java.lang.Thread.run(Thread.java:748){noformat}
> EDIT: The issue is related to recently contributed IGNITE-10078. In specific scenario
due to race partition clearing could be started while partition is passing through ongoing
rebalancing started on previous topology version.
> I fixed it by preventing partition clearing on newer topology version. In such case if
rebalance will be finished and partition will go in OWNING state further clearing is not needed
any more, otherwise partition should be scheduled for clearing again.



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

Mime
View raw message