Github user zentol commented on a diff in the pull request:
https://github.com/apache/flink/pull/6288#discussion_r201657551
--- Diff:
flink-mesos/src/main/java/org/apache/flink/mesos/runtime/clusterframework/LaunchableMesosWorker.java
---
@@ -332,6 +334,22 @@ public String toString() {
return taskInfo.build();
}
+ /**
+ * Get port keys representing the TM's configured endpoints. This
includes mandatory TM endpoints such as
+ * data and rpc as well as optionally configured endpoints for services
such as prometheus reporter
+ *
+ * @return A deterministicly ordered Set of port keys to expose from
the TM container
+ */
+ private Set<String> getPortKeys() {
+ LinkedHashSet<String> tmPortKeys = new
LinkedHashSet<>(Arrays.asList(TM_PORT_KEYS));
--- End diff --
ah,I think i misunderstood earlier what the code does.
So what we _are_ doing is scanning the taskmanager config for port config
options, gather the keys, and later these are overridden by mesos with some
port?
If so, is there any way to restrict ports to certain ranges? For the
taskmanager port this isn't important as for all intents and purposes it is
only used internally anyway, but for reporters this port is very much
user-facing.
In case of the PrometheusReporter this would imply that prometheus is
always started _after_ the TM, as we can't determine the port beforehand. Is
that correct?
---