@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]

Reply via email to