Bill Farner created AURORA-264:
----------------------------------

             Summary: Scheduler should be resilient to duplicated attributes
                 Key: AURORA-264
                 URL: https://issues.apache.org/jira/browse/AURORA-264
             Project: Aurora
          Issue Type: Bug
          Components: Scheduler
            Reporter: Bill Farner
            Assignee: Bill Farner


The scheduler will encounter an IllegalArgumentException if the slave 
attributes includes more than one attribute by the same name.  Example stack 
trace from a unit test to repro the issue:
{noformat}
java.lang.IllegalArgumentException: expected one element but was: 
<Attribute(name:jvm, values:[1.4]), Attribute(name:jvm, values:[1.6, 1.7])>
        at 
com.google.common.collect.Iterators.getOnlyElement(Iterators.java:312)
        at 
com.google.common.collect.Iterators.getOnlyElement(Iterators.java:324)
        at 
com.google.common.collect.Iterables.getOnlyElement(Iterables.java:299)
        at 
org.apache.aurora.scheduler.filter.ConstraintFilter.getVeto(ConstraintFilter.java:73)
        at 
org.apache.aurora.scheduler.filter.SchedulingFilterImpl$6$1.apply(SchedulingFilterImpl.java:217)
        at 
org.apache.aurora.scheduler.filter.SchedulingFilterImpl$6$1.apply(SchedulingFilterImpl.java:209)
        at 
org.apache.aurora.scheduler.filter.SchedulingFilterImplTest$1.answer(SchedulingFilterImplTest.java:137)
        at org.easymock.internal.Result.answer(Result.java:106)
        at org.easymock.internal.ReplayState.invokeInner(ReplayState.java:60)
        at org.easymock.internal.ReplayState.invoke(ReplayState.java:46)
        at 
org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:40)
        at 
org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:94)
        at com.sun.proxy.$Proxy6.weaklyConsistentRead(Unknown Source)
        at 
org.apache.aurora.scheduler.filter.SchedulingFilterImpl$6.apply(SchedulingFilterImpl.java:209)
        at 
org.apache.aurora.scheduler.filter.SchedulingFilterImpl$6.apply(SchedulingFilterImpl.java:198)
        at 
org.apache.aurora.scheduler.filter.SchedulingFilterImpl.filter(SchedulingFilterImpl.java:273)
        at 
org.apache.aurora.scheduler.filter.SchedulingFilterImplTest.checkConstraint(SchedulingFilterImplTest.java:518)
        at 
org.apache.aurora.scheduler.filter.SchedulingFilterImplTest.checkConstraint(SchedulingFilterImplTest.java:502)
        at 
org.apache.aurora.scheduler.filter.SchedulingFilterImplTest.checkConstraint(SchedulingFilterImplTest.java:483)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to