[ 
https://issues.apache.org/jira/browse/AURORA-116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joe Smith updated AURORA-116:
-----------------------------

    Component/s: Reliability

> Improve efficiency of saving host attributes (or avoid saving host attributes)
> ------------------------------------------------------------------------------
>
>                 Key: AURORA-116
>                 URL: https://issues.apache.org/jira/browse/AURORA-116
>             Project: Aurora
>          Issue Type: Task
>          Components: Reliability, Scheduler
>            Reporter: Bill Farner
>            Assignee: Bill Farner
>            Priority: Critical
>
> The scheduler performs multiple write operations for every resource offer, to 
> save slave attributes:
> {noformat}
>   public void resourceOffers(SchedulerDriver driver, List<Offer> offers) {
>     Preconditions.checkState(registered, "Must be registered before receiving 
> offers.");
>     for (final Offer offer : offers) {
>       log(Level.FINE, "Received offer: %s", offer);
>       resourceOffers.incrementAndGet();
>       storage.write(new MutateWork.NoResult.Quiet() {
>         @Override protected void execute(MutableStoreProvider storeProvider) {
>           
> storeProvider.getAttributeStore().saveHostAttributes(Conversions.getAttributes(offer));
>         }
>       });
> {noformat}
> This can unnecessarily block the singly-threaded message dispatch in the 
> scheduler driver.  An incremental improvement would be to aggregate all slave 
> info and save it in one write operation.  Better yet would be to perform 
> writes asynchronously (taking care to not break task scheduling, since 
> attributes are expected to be present).  Even better yet, it would be great 
> to determine if we can avoid storing host attributes.



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

Reply via email to