Peter Kolloch created MESOS-2802:
------------------------------------
Summary: Prevent immediate reuse of network ports for different
tasks
Key: MESOS-2802
URL: https://issues.apache.org/jira/browse/MESOS-2802
Project: Mesos
Issue Type: Improvement
Reporter: Peter Kolloch
Currently, if a task finishes or dies, another task might reuse the same port
immediately afterwards. If another task or a load balancer connects to this
port, still expecting the old task, there might be unpleasant surprises.
For example, imagine that a visitor of your Mesos hosted web page sees your
internal reporting tool instead of your company market material when hitting
your page during an update.
To make this less likely, Marathon contains code which tries to randomize
dynamically assigned ports. This is a workaround at best and we would like to
get rid of this code. I imagine that other frameworks might include similar
code.
As a solution, I propose a grace period for ports. If a task dies, the
associated ports resources should not immediately go back into the resource
pool. Instead, Mesos should wait for a configurable time and only then offer
them for new tasks again.
If you then specify a grace period of 2 minutes and update your service
discovery load balancer every 30 seconds, you can be reasonably sure that no
improper port reuse occurs.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)