[
https://issues.apache.org/jira/browse/MESOS-2802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14575106#comment-14575106
]
Benjamin Mahler commented on MESOS-2802:
----------------------------------------
If port randomization is not acceptable as it is a best effort mechanism, why
is the grace period acceptable to you? You're not guaranteed the service
discovery load balancer has refreshed correctly. Have you considered handling
this with application-level security mechanisms?
> 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)