You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Kevin Sweeney (JIRA)" <ji...@apache.org> on 2015/10/01 22:25:26 UTC

[jira] [Commented] (AURORA-1510) ConcurrentModificationException in PreemptorService

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

Kevin Sweeney commented on AURORA-1510:
---------------------------------------

It looks like we don't register a Listener on our ServiceManagers to shutdown the JVM / execute a shutdown action as described in http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/util/concurrent/ServiceManager.html. I think we should adopt our use of the library to more-or-less copy the pattern presented in ServiceManager's javadoc.

I think this is a regression, as such I would block 0.10.0 until this is released.

> ConcurrentModificationException in PreemptorService
> ---------------------------------------------------
>
>                 Key: AURORA-1510
>                 URL: https://issues.apache.org/jira/browse/AURORA-1510
>             Project: Aurora
>          Issue Type: Bug
>            Reporter: Zameer Manji
>
> On the latest master code:
> {noformat}
> E1001 03:41:58.910 THREAD595 com.google.common.util.concurrent.ServiceManager$ServiceListener.failed: Service PreemptorService [FAILE
> D] has failed in the RUNNING state.
> java.util.ConcurrentModificationException
>         at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
>         at java.util.HashMap$EntryIterator.next(HashMap.java:1463)
>         at java.util.HashMap$EntryIterator.next(HashMap.java:1461)
>         at com.google.common.collect.AbstractMapBasedMultimap$KeySet$1.next(AbstractMapBasedMultimap.java:936)
>         at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042)
>         at com.google.common.collect.Iterators$5.next(Iterators.java:558)
>         at com.google.common.collect.Iterators.addAll(Iterators.java:362)
>         at com.google.common.collect.Sets.newHashSet(Sets.java:238)
>         at com.google.common.collect.Sets.newHashSet(Sets.java:218)
>         at org.apache.aurora.scheduler.preemptor.PendingTaskProcessor$1.apply(PendingTaskProcessor.java:134)
>         at org.apache.aurora.scheduler.preemptor.PendingTaskProcessor$1.apply(PendingTaskProcessor.java:119)
>         at org.apache.aurora.scheduler.storage.db.DbStorage.read(DbStorage.java:138)
>         at org.mybatis.guice.transactional.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:101)
>         at org.apache.aurora.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:84)
>         at org.apache.aurora.scheduler.storage.log.LogStorage.read(LogStorage.java:659)
>         at org.apache.aurora.scheduler.storage.CallOrderEnforcingStorage.read(CallOrderEnforcingStorage.java:115)
>         at org.apache.aurora.scheduler.preemptor.PendingTaskProcessor.run(PendingTaskProcessor.java:119)
>         at org.apache.aurora.scheduler.preemptor.PreemptorModule$PreemptorService.runOneIteration(PreemptorModule.java:148)
>         at com.google.common.util.concurrent.AbstractScheduledService$1$1.run(AbstractScheduledService.java:174)
>         at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:745)
> {noformat}



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