You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2014/01/31 05:06:09 UTC

[jira] [Commented] (AURORA-139) Scheduling performance could be vastly improved by caching job information

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

Hudson commented on AURORA-139:
-------------------------------

SUCCESS: Integrated in Aurora #83 (See [https://builds.apache.org/job/Aurora/83/])
AURORA-139: When trying to schedule a task, only query once for active tasks (wfarner: rev f6ef17949730cbf31812e20c3be0b34da29626cc)
* src/main/java/org/apache/aurora/scheduler/async/Preemptor.java
* src/main/java/org/apache/aurora/scheduler/filter/CachedJobState.java
* src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java
* src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java
* src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java
* src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java
* src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java
* src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java
* src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java
* src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java
* src/main/java/org/apache/aurora/scheduler/filter/AttributeFilter.java
* src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java
* src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java
* src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java
* src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java
* src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java


> Scheduling performance could be vastly improved by caching job information
> --------------------------------------------------------------------------
>
>                 Key: AURORA-139
>                 URL: https://issues.apache.org/jira/browse/AURORA-139
>             Project: Aurora
>          Issue Type: Story
>          Components: Scheduler
>            Reporter: Bill Farner
>            Assignee: Bill Farner
>
> {{SchedulingFilterImpl}} has this snippet of code:
> {code}
>             Supplier<Collection<IScheduledTask>> activeTasksSupplier =
>                 Suppliers.memoize(new Supplier<Collection<IScheduledTask>>() {
>                   @Override public Collection<IScheduledTask> get() {
>                     return storeProvider.getTaskStore().fetchTasks(
>                         Query.jobScoped(Tasks.INFO_TO_JOB_KEY.apply(task))
>                             .byStatus(ACTIVE_NOT_PENDING_STATES));
>                   }
>                 });
> {code}
> This results in a job-scoped query for every offer being compared to a task.  Since this operation is already in the scope of a write lock, we could precompute this information from outside the loop over offers and do the expensive query only once.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)