You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ryker Zhang (JIRA)" <ji...@apache.org> on 2019/04/15 06:32:00 UTC

[jira] [Commented] (IGNITE-11488) GridServiceProcessorBatchDeploySelfTest test fails sporadically

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

Ryker Zhang commented on IGNITE-11488:
--------------------------------------

Hi, [~amashenkov], I checked the code and found add synchronization to toString method may not solve this problem, because it's the param of toString method changed when the method traversing map inside. Add synchronization to toString method can't guarantee input param not change, so I think of a few ideas.
1. Just copy input param of ServiceDeploymentTask's toString method, it may affecting execution efficiency.
2. Make ServicesDeploymentWorker don't handle same task at same time.
Am I correct? Do you have any suggestions?

> GridServiceProcessorBatchDeploySelfTest test fails sporadically
> ---------------------------------------------------------------
>
>                 Key: IGNITE-11488
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11488
>             Project: Ignite
>          Issue Type: Test
>          Components: managed services
>            Reporter: Andrew Mashenkov
>            Assignee: Ryker Zhang
>            Priority: Major
>              Labels: MakeTeamcityGreenAgain, newbie
>
> GridServiceProcessorBatchDeploySelfTest.testCancelAllTopologyChange test fails on TC sporadically with ConcurrentModificationException.
> Let's add synchronization to certain toString method.
>  
> {noformat}
>  [super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: null]]
> class org.apache.ignite.IgniteException: null
> 	at org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl0(GridToStringBuilder.java:1081)
> 	at org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:993)
> 	at org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:703)
> 	at org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:662)
> 	at org.apache.ignite.internal.processors.service.ServiceDeploymentTask.toString(ServiceDeploymentTask.java:854)
> 	at java.lang.String.valueOf(String.java:2994)
> 	at java.lang.StringBuilder.append(StringBuilder.java:131)
> 	at org.apache.ignite.internal.processors.service.ServiceDeploymentManager$ServicesDeploymentWorker.body(ServiceDeploymentManager.java:502)
> 	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
> 	at java.lang.Thread.run(Thread.java:748)
> Caused by: java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442)
> 	at java.util.HashMap$EntryIterator.next(HashMap.java:1476)
> 	at java.util.HashMap$EntryIterator.next(HashMap.java:1474)
> 	at org.apache.ignite.internal.util.tostring.GridToStringBuilder.addMap(GridToStringBuilder.java:923)
> 	at org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:846)
> 	at org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl0(GridToStringBuilder.java:1065)
> 	... 9 more{noformat}
>  



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