You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Zameer Manji (JIRA)" <ji...@apache.org> on 2016/02/26 20:58:18 UTC

[jira] [Commented] (AURORA-1625) ConcurrentModificationException in TaskHistoryPruner with DbTaskStore

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

Zameer Manji commented on AURORA-1625:
--------------------------------------

This is a direct consequence of my change here: https://reviews.apache.org/r/43643/

Now that an immutable set is no longer being returned as the underlying Iterable, the caller should make a defensive copy.

> ConcurrentModificationException in TaskHistoryPruner with DbTaskStore
> ---------------------------------------------------------------------
>
>                 Key: AURORA-1625
>                 URL: https://issues.apache.org/jira/browse/AURORA-1625
>             Project: Aurora
>          Issue Type: Bug
>            Reporter: Zameer Manji
>            Assignee: Zameer Manji
>
> {noformat}
> E0226 19:39:03.406 [AsyncProcessor-6, TaskHistoryPruner:145] Unexpected problem pruning task history for job: IJobKey{role=mesos, environment=test, name=labrat}. Triggering shutdown java.util.ConcurrentModificationException: null
>         at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) ~[na:1.8.0_72-Tw8r10b0]
>         at java.util.ArrayList$Itr.next(ArrayList.java:851) ~[na:1.8.0_72-Tw8r10b0]
>         at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[guava-19.0.jar:na]
>         at com.google.common.collect.ImmutableCollection$Builder.addAll(ImmutableCollection.java:410) ~[guava-19.0.jar:na]
>         at com.google.common.collect.ImmutableList$Builder.addAll(ImmutableList.java:692) ~[guava-19.0.jar:na]
>         at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:256) ~[guava-19.0.jar:na]
>         at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:209) ~[guava-19.0.jar:na]
>         at com.google.common.collect.FluentIterable.toList(FluentIterable.java:484) ~[guava-19.0.jar:na]
>         at org.apache.aurora.scheduler.storage.entities.IScheduledTask.<init>(IScheduledTask.java:40) ~[aurora-api-144.jar:na]
>         at org.apache.aurora.scheduler.storage.entities.IScheduledTask.build(IScheduledTask.java:46) ~[aurora-api-144.jar:na]
>         at org.apache.aurora.scheduler.storage.db.views.DbScheduledTask.toImmutable(DbScheduledTask.java:39) ~[aurora-144.jar:na]
>         at com.google.common.collect.Iterators$8.transform(Iterators.java:817) ~[guava-19.0.jar:na]
>         at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[guava-19.0.jar:na]
>         at com.google.common.collect.Iterators$7.computeNext(Iterators.java:674) ~[guava-19.0.jar:na]
>         at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) ~[guava-19.0.jar:na]
>         at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) ~[guava-19.0.jar:na]
>         at com.google.common.collect.Iterators.size(Iterators.java:200) ~[guava-19.0.jar:na]
>         at com.google.common.collect.Iterables.size(Iterables.java:107) ~[guava-19.0.jar:na]
>         at org.apache.aurora.scheduler.pruning.TaskHistoryPruner.lambda$registerInactiveTask$85(TaskHistoryPruner.java:170) ~[aurora-144.jar:na]
>         at org.apache.aurora.scheduler.pruning.TaskHistoryPruner.lambda$shutdownOnError$83(TaskHistoryPruner.java:143) ~[aurora-14        at org.apache.aurora.scheduler.pruning.TaskHistoryPruner.lambda$shutdownOnError$83(TaskHistoryPruner.java:143) ~[aurora-14
> 4.jar:na]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_72-Tw8r10b0]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_72-Tw8r10b0]
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_72-Tw8r10b0]
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_72-Tw8r10b0]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_72-Tw8r10b0]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_72-Tw8r10b0]
>         at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_72-Tw8r10b0]
> {noformat}



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