Fix a bug where messages with mismatched version could be used together in topology synchronization
Move checkAndUpdate to the beginning of the iteration loop. Add comm ID to track multiple rounds of topology walking-through. Do better logging