[
https://issues.apache.org/jira/browse/AURORA-699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bill Farner resolved AURORA-699.
--------------------------------
Resolution: Won't Fix
This is a result of {{[5154f61 |
https://github.com/apache/incubator-aurora/commit/5154f61e7534f7f9c22d4760a6e12302b89c7dc5]}}.
This issue occurs in the rare overlap between: maintenance commands being
used on hosts before being 'introduced' to the scheduler by the master, and
hosts being fully committed (tasks consuming all CPU/RAM/disk) on a build >=
{{5154f61}}.
Given the extreme rarity of the case, i suggest we answer this with
course-correction advice rather than code. The simplest fix in this case is to
kill and restart a job encountering the issue.
> Stack trace in AttributeAggregate
> ---------------------------------
>
> Key: AURORA-699
> URL: https://issues.apache.org/jira/browse/AURORA-699
> Project: Aurora
> Issue Type: Bug
> Components: Scheduler
> Reporter: Maxim Khutornenko
>
> This does not look right:
> {noformat}
> W0910 23:34:47.149 THREAD145
> org.apache.aurora.scheduler.async.TaskScheduler$TaskSchedulerImpl.schedule:
> Task scheduling unexpectedly failed, will be retried
> java.lang.IllegalStateException: Optional.get() cannot be called on an absent
> value
> at com.google.common.base.Absent.get(Absent.java:47)
> at
> org.apache.aurora.scheduler.filter.AttributeAggregate$1.apply(AttributeAggregate.java:73)
> at
> org.apache.aurora.scheduler.filter.AttributeAggregate$1.apply(AttributeAggregate.java:67)
> at com.google.common.collect.Iterators$8.transform(Iterators.java:794)
> at
> com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
> at
> com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
> at com.google.common.collect.Iterators$5.hasNext(Iterators.java:543)
> at
> org.apache.aurora.scheduler.filter.AttributeAggregate$2.get(AttributeAggregate.java:83)
> at
> org.apache.aurora.scheduler.filter.AttributeAggregate$2.get(AttributeAggregate.java:77)
> at
> com.google.common.base.Suppliers$MemoizingSupplier.get(Suppliers.java:125)
> at
> org.apache.aurora.scheduler.filter.AttributeAggregate.getNumTasksWithAttribute(AttributeAggregate.java:112)
> at
> org.apache.aurora.scheduler.filter.AttributeFilter.matches(AttributeFilter.java:59)
> at
> org.apache.aurora.scheduler.filter.ConstraintFilter.getVeto(ConstraintFilter.java:110)
> at
> org.apache.aurora.scheduler.filter.SchedulingFilterImpl$6$1.apply(SchedulingFilterImpl.java:215)
> at
> org.apache.aurora.scheduler.filter.SchedulingFilterImpl$6$1.apply(SchedulingFilterImpl.java:207)
> at
> org.apache.aurora.scheduler.storage.mem.MemStorage$5.apply(MemStorage.java:218)
> at
> org.apache.aurora.scheduler.storage.db.DbStorage.weaklyConsistentRead(DbStorage.java:140)
> at
> org.mybatis.guice.transactional.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:101)
> at
> org.apache.aurora.scheduler.storage.mem.MemStorage.weaklyConsistentRead(MemStorage.java:215)
> at
> com.twitter.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:87)
> at
> org.apache.aurora.scheduler.storage.log.LogStorage.weaklyConsistentRead(LogStorage.java:587)
> at
> org.apache.aurora.scheduler.storage.CallOrderEnforcingStorage.weaklyConsistentRead(CallOrderEnforcingStorage.java:123)
> at
> org.apache.aurora.scheduler.filter.SchedulingFilterImpl$6.apply(SchedulingFilterImpl.java:207)
> at
> org.apache.aurora.scheduler.filter.SchedulingFilterImpl$6.apply(SchedulingFilterImpl.java:196)
> at
> org.apache.aurora.scheduler.filter.SchedulingFilterImpl.filter(SchedulingFilterImpl.java:271)
> at
> org.apache.aurora.scheduler.events.NotifyingSchedulingFilter.filter(NotifyingSchedulingFilter.java:68)
> at
> org.apache.aurora.scheduler.state.TaskAssigner$TaskAssignerImpl.maybeAssign(TaskAssigner.java:94)
> at
> org.apache.aurora.scheduler.async.TaskScheduler$TaskSchedulerImpl$1.apply(TaskScheduler.java:147)
> at
> org.apache.aurora.scheduler.async.TaskScheduler$TaskSchedulerImpl$1.apply(TaskScheduler.java:133)
> at
> org.apache.aurora.scheduler.async.OfferQueue$OfferQueueImpl.launchFirst(OfferQueue.java:336)
> at
> org.apache.aurora.scheduler.async.TaskScheduler$TaskSchedulerImpl$3.apply(TaskScheduler.java:194)
> at
> org.apache.aurora.scheduler.async.TaskScheduler$TaskSchedulerImpl$3.apply(TaskScheduler.java:181)
> at
> org.apache.aurora.scheduler.storage.log.LogStorage$7.apply(LogStorage.java:560)
> at
> org.apache.aurora.scheduler.storage.log.LogStorage$7.apply(LogStorage.java:557)
> at
> org.apache.aurora.scheduler.storage.mem.MemStorage.doWork(MemStorage.java:175)
> at
> org.apache.aurora.scheduler.storage.mem.MemStorage.access$400(MemStorage.java:59)
> at
> org.apache.aurora.scheduler.storage.mem.MemStorage$4.apply(MemStorage.java:200)
> at
> org.apache.aurora.scheduler.storage.mem.MemStorage$4.apply(MemStorage.java:197)
> at
> org.apache.aurora.scheduler.storage.db.DbStorage.write(DbStorage.java:150)
> at
> org.mybatis.guice.transactional.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:101)
> at
> org.apache.aurora.scheduler.storage.mem.MemStorage.write(MemStorage.java:197)
> at
> org.apache.aurora.scheduler.storage.log.LogStorage.write(LogStorage.java:557)
> at
> org.apache.aurora.scheduler.storage.CallOrderEnforcingStorage.write(CallOrderEnforcingStorage.java:130)
> at
> org.apache.aurora.scheduler.async.TaskScheduler$TaskSchedulerImpl.schedule(TaskScheduler.java:181)
> at
> com.twitter.common.inject.TimedInterceptor.invoke(TimedInterceptor.java:87)
> at
> org.apache.aurora.scheduler.async.TaskGroups$1.schedule(TaskGroups.java:116)
> at
> org.apache.aurora.scheduler.async.TaskGroups$2.run(TaskGroups.java:138)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)