You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Bill Farner (JIRA)" <ji...@apache.org> on 2017/07/29 02:31:02 UTC

[jira] [Commented] (AURORA-1943) PreemptionVictimFilter does not handle varied ResourceTypes

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

Bill Farner commented on AURORA-1943:
-------------------------------------

https://reviews.apache.org/r/61238/

> PreemptionVictimFilter does not handle varied ResourceTypes
> -----------------------------------------------------------
>
>                 Key: AURORA-1943
>                 URL: https://issues.apache.org/jira/browse/AURORA-1943
>             Project: Aurora
>          Issue Type: Bug
>          Components: Scheduler
>            Reporter: Bill Farner
>            Assignee: Bill Farner
>
> Reported by Mauricio Garavaglia on the dev list:
> {quote}
> Hi guys,
> There seems to be a bug in this comparator in PreemptionVictimFilter (
> https://github.com/apache/aurora/blob/master/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java#L142)
> because the comparator doesn’t satisfy transitivity, which is required by
> Array.sort's Tim Sort implementation. This fails with a
> "java.lang.IllegalArgumentException: Comparison method violates its general
> contract!" from time to time.
> For example this input of A, B, and C doesn't work in the current
> comparator.
> A: <1, 1, 1>
> B: <2, 2, 2>
> C: <0, 2, 1>
> Based on the comparator:
> B > A
> B == C
> C == A
> Constructs impossible situation where C == B > A == C. As a workaround we
> patched to simply sort based on RAM, but anyone have any suggestions about
> what a permanent fix for upstream should be? Thanks
> {quote}
> A likely culprit is that the filter does not handle comparison of tasks containing different ResourceTypes.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)