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

Peter Bacsko commented on YARN-10447:
-------------------------------------

ASF warning is not related to this patch.

> TestLeafQueue: ActivitiesManager thread might interfere with ongoing stubbing
> -----------------------------------------------------------------------------
>
>                 Key: YARN-10447
>                 URL: https://issues.apache.org/jira/browse/YARN-10447
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: test
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>            Priority: Major
>         Attachments: YARN-10447-001.patch, YARN-10447-002.patch
>
>
> YARN-9784 fixed some concurrency related issues in {{TestLeafQueue}}, but not 
> all of them. Occasionally it's still possible to receive an exception from 
> Mockito and the two following stack traces can be observed in the console:
> {noformat}
>       
>       org.mockito.exceptions.misusing.WrongTypeOfReturnValue: 
> Integer cannot be returned by isMultiNodePlacementEnabled()
> isMultiNodePlacementEnabled() should return boolean
> ***
> If you're unsure why you're getting above error read on.
> Due to the nature of the syntax above problem might occur because:
> 1. This exception *might* occur in wrongly written multi-threaded tests.
>    Please refer to Mockito FAQ on limitations of concurrency testing.
> 2. A spy is stubbed using when(spy.foo()).then() syntax. It is safer to stub 
> spies - 
>    - with doReturn|Throw() family of methods. More in javadocs for 
> Mockito.spy() method.
> {noformat}
> or
> {noformat}
> 2020-09-22 14:44:52,584 INFO  [main] capacity.TestUtils 
> (TestUtils.java:getMockNode(227)) - node = 127.0.0.3 avail=<memory:8192, 
> vCores:1>
> 2020-09-22 14:44:52,585 INFO  [main] capacity.TestUtils 
> (TestUtils.java:getMockNode(227)) - node = 127.0.0.4 avail=<memory:8192, 
> vCores:1>
> Exception in thread "ActivitiesManager thread." java.lang.ClassCastException: 
> java.lang.Integer cannot be cast to java.lang.Boolean
>       at 
> org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler$$EnhancerByMockitoWithCGLIB$$272c72c5.isMultiNodePlacementEnabled(<generated>)
>       at 
> org.apache.hadoop.yarn.server.resourcemanager.scheduler.activities.ActivitiesManager.dynamicallyUpdateAppActivitiesMaxQueueLengthIfNeeded(ActivitiesManager.java:266)
>       at 
> org.apache.hadoop.yarn.server.resourcemanager.scheduler.activities.ActivitiesManager.access$500(ActivitiesManager.java:63)
>       at 
> org.apache.hadoop.yarn.server.resourcemanager.scheduler.activities.ActivitiesManager$1.run(ActivitiesManager.java:347)
>       at java.lang.Thread.run(Thread.java:748)
> {noformat}
> It's probably best to disable ActivitiesManager thread entirely in this test 
> class, there is no need for it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to