[ https://issues.apache.org/jira/browse/MESOS-7661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vinod Kone updated MESOS-7661: ------------------------------ Story Points: 3 > 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)