accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-4469) ConcurrentModificationException while running MultiTable.xml node in Random Walk
Date Fri, 23 Sep 2016 23:00:26 GMT

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

Hadoop QA commented on ACCUMULO-4469:
-------------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:red}-1{color} | {color:red} pre-patch {color} | {color:red} 0m 0s {color} | {color:red}
JAVA_HOME is not defined. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12830113/ACCUMULO-4469_1.7_v1.patch
|
| JIRA Issue | ACCUMULO-4469 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  checkstyle  compile  |
| uname | Linux asf910.gq1.ygridcore.net 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:42:26
UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-ACCUMULO-Build/test_framework/yetus-0.3.0/lib/precommit/personality/accumulo.sh
|
| git revision | master / ab2a93a |
| Console output | https://builds.apache.org/job/PreCommit-ACCUMULO-Build/45/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> ConcurrentModificationException while running MultiTable.xml node in Random Walk 
> ---------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-4469
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4469
>             Project: Accumulo
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 1.7.2
>            Reporter: Dima Spivak
>            Assignee: Dima Spivak
>             Fix For: 1.7.3, 1.8.1, 2.0.0
>
>         Attachments: ACCUMULO-4469_1.7_v1.patch
>
>
> After the resolution of ACCUMULO-4467, I got back to playing with Random Walk and had
a failure caused by a {{ConcurrentModificationException}}:
> {code}
> 23 01:03:04,316 [randomwalk.Framework] ERROR: Error during random walk
> java.lang.Exception: Error running node MultiTable.xml
>         at org.apache.accumulo.test.randomwalk.Module.visit(Module.java:346)
>         at org.apache.accumulo.test.randomwalk.Framework.run(Framework.java:59)
>         at org.apache.accumulo.test.randomwalk.Framework.main(Framework.java:119)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at org.apache.accumulo.start.Main$2.run(Main.java:157)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.util.ConcurrentModificationException
>         at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:859)
>         at java.util.ArrayList$Itr.next(ArrayList.java:831)
>         at org.apache.accumulo.test.randomwalk.multitable.MultiTableFixture.tearDown(MultiTableFixture.java:64)
>         at org.apache.accumulo.test.randomwalk.Module.visit(Module.java:365)
>         at org.apache.accumulo.test.randomwalk.Module$1.call(Module.java:283)
>         at org.apache.accumulo.test.randomwalk.Module$1.call(Module.java:278)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
>         ... 1 more
> {code}
> [This section of code|https://github.com/apache/accumulo/blob/master/test/src/main/java/org/apache/accumulo/test/randomwalk/multitable/MultiTableFixture.java#L61-L71]
seems to be at fault. In particular, it looks like we're getting the table list, but then
instead of doing a deep copy to a new {{ArrayList<String>}} from which we choose tables
to delete, we're looping through and deleting tables while referring to the changing list,
which has the effect of modifying it and making Java unhappy. Am I missing something more
complex or can I fix this one myself by just doing the aforementioned deep copy of the table
list? Or is a better way to use the {{TableOperations.list()}} method and iterate through
the {{SortedSet<String>}} it provides?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message