mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vinod Kone (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MESOS-7661) Libprocess timers with long durations trigger immediately
Date Mon, 07 Aug 2017 17:44:02 GMT

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

Vinod Kone updated MESOS-7661:
------------------------------
    Sprint: Mesosphere Sprint 58, Mesosphere Sprint 59, Mesosphere Sprint 60, Mesosphere Sprint
61  (was: Mesosphere Sprint 58, Mesosphere Sprint 59, Mesosphere Sprint 60)

> Libprocess timers with long durations trigger immediately
> ---------------------------------------------------------
>
>                 Key: MESOS-7661
>                 URL: https://issues.apache.org/jira/browse/MESOS-7661
>             Project: Mesos
>          Issue Type: Bug
>          Components: libprocess
>            Reporter: Gastón Kleiman
>            Assignee: Gastón Kleiman
>              Labels: mesosphere
>
> {{process::delay()}} will schedule a method to be run right ahead when called with a
veeeery long {{Duration}}.
> This happens because [{{Timeout}} tries to add two long durations|https://github.com/apache/mesos/blob/13cae29e7832d8bb879c68847ad0df449d227f17/3rdparty/libprocess/include/process/timeout.hpp#L33-L38],
leading to an [integer overflow in {{Duration}}|https://github.com/apache/mesos/blob/13cae29e7832d8bb879c68847ad0df449d227f17/3rdparty/stout/include/stout/duration.hpp#L116].
> I'd expect libprocess to either:
>   1. Never run the method.
>   2. Schedule it in the longest possible {{Duration}}.
> {{Duration::operator+=()}} should probably also handle integer overflows differently.
If an addition leads to an integer overflow, it might make more sense to return {{Duration::max()}}
than a negative duration.



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

Mime
View raw message