Github user revans2 commented on the issue:
https://github.com/apache/storm/pull/2774
@jiangzhileaf I am trying to wrap my head around which situations would
cause this to happen. It appears that in some cases you can get a host name
from the network topography that has no corresponding RAS_Node for it. But the
network topography is created from the list of supervisors.
https://github.com/apache/storm/blob/9cc5b72c1fae78c60061b9f3c3f3d41277ca93cf/storm-server/src/main/java/org/apache/storm/scheduler/Cluster.java#L172
and are the RAS_Nodes.
https://github.com/apache/storm/blob/9cc5b72c1fae78c60061b9f3c3f3d41277ca93cf/storm-server/src/main/java/org/apache/storm/scheduler/resource/RAS_Nodes.java#L80
So the only thing I can think of that would cause this to fail is that
somehow the the implementation of DNSToSwitchMapping being used has violated
the contract of the API and returned more than it should.
https://github.com/apache/storm/blob/9cc5b72c1fae78c60061b9f3c3f3d41277ca93cf/storm-client/src/jvm/org/apache/storm/networktopography/DNSToSwitchMapping.java#L24-L35
If we want to support that use case, which I think is fine to make it more
generic, I would rather have us fix-up the results returned by the network
mapping. Also we would need to update the javadocs to explain what the new
contract is.
---