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

Hudson commented on AMBARI-7067:
--------------------------------

FAILURE: Integrated in Ambari-trunk-Commit #88 (See 
[https://builds.apache.org/job/Ambari-trunk-Commit/88/])
AMBARI-7067 - ConcurrentModificationException in Resource Comparator 
(tbeerbower: 
http://git-wip-us.apache.org/repos/asf?p=ambari.git&a=commit&h=b09e159322a403c4067ad62dbf1ca9a00e9034e2)
* 
ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXPropertyProviderTest.java
* 
ambari-server/src/main/java/org/apache/ambari/server/controller/jmx/JMXPropertyProvider.java


> ConcurrentModificationException in Resource Comparator
> ------------------------------------------------------
>
>                 Key: AMBARI-7067
>                 URL: https://issues.apache.org/jira/browse/AMBARI-7067
>             Project: Ambari
>          Issue Type: Bug
>            Reporter: Tom Beerbower
>            Assignee: Tom Beerbower
>             Fix For: 1.7.0
>
>
> It looks like that when the JMX property provider times out, we just log the 
> message and bail out of the provider. The query continues but so do the 
> threads trying to acquire the JMX metrics. So the Comparator used at the end 
> of the query gets a ConcurrentModificationException because another thread is 
> still adding properties to the resource.
> {code}
> java.util.ConcurrentModificationException
>       at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
>       at java.util.TreeMap$EntryIterator.next(TreeMap.java:1136)
>       at java.util.TreeMap$EntryIterator.next(TreeMap.java:1131)
>       at java.util.AbstractMap.toString(AbstractMap.java:485)
>       at java.lang.String.valueOf(String.java:2826)
>       at java.lang.StringBuilder.append(StringBuilder.java:115)
>       at java.util.AbstractMap.toString(AbstractMap.java:490)
>       at java.lang.String.valueOf(String.java:2826)
>       at java.lang.StringBuilder.append(StringBuilder.java:115)
>       at 
> org.apache.ambari.server.controller.internal.ResourceImpl.toString(ResourceImpl.java:143)
>       at 
> org.apache.ambari.server.controller.internal.ClusterControllerImpl$ResourceComparator.compare(ClusterControllerImpl.java:828)
>       at 
> org.apache.ambari.server.controller.internal.ClusterControllerImpl$ResourceComparator.compare(ClusterControllerImpl.java:773)
>       at 
> org.apache.ambari.server.controller.internal.ClusterControllerImplTest.testComparatorConcurrentModification(ClusterControllerImplTest.java:857)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>       at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>       at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:76)
>       at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
>       at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to