@dgrove-oss can you elaborate on a) how is --uniqueName set and retained for StatefulSet/DaemonSet and b) what happens when a host vanishes in either case (is there any change the --uniqueName for next new host is not set to a value that was already in use?). I tried to decipher this in the deploy-kube repo, but my only guess is that it comes from `.Values.invoker.name`, and it isn't clear how that would get populated.
For mesos, we can do some juggling to track state on the host, but what Chetan points out is that since the state is tracked at the host, when a host goes down completely (as opposed to invoker jvm crash), the --uniqueName that should be used for it's replacement will also be lost. In general, this is super critical for invokers, but also important for controllers, where if a controller is revived and does not have precisely the right id (if it is replacing a previous controller instance), then the previous topic will be abandoned. This dependency on the cluster manager for state I think is an antipattern since there is otherwise absolutely no need to track state afaik. I definitely recognize there is some convenient ways to do it, but ultimately it would be great for OW to not be so sensitive to host swapping, and really the only way to get there is to remove the id assignment from external systems, and coordinate it internally, probably with assistance from more generic visibility of current cluster state, but not dependent on the cluster state directly. Or, if k8s is truly impervious to host crash+swap scenarios where uniqueName is carefully reused, I agree this is probably not worth pursuing 😄. [ Full content available at: https://github.com/apache/incubator-openwhisk/issues/3858 ] This message was relayed via gitbox.apache.org for [email protected]
