Description
While upgrading from 1.2 to 2.0, the 1.2 nodes are not supposed to pull schemas from upgraded 2.0 nodes to avoid conflicts.
This relies on network version checks between the two nodes, but there's a bit of a race between the Gossiper, which is activated first, and the MessagingService, which is activated after the Gossiper and handles network version exchange: if a 1.2 node Gossiper gets a gossip message from a newly 2.0 node before opening connections from the MessagingService, the version will still be 1.2, and the schema will be pulled from the new node.
A possible solution may be to have the Gossiper update the network version upon receiving the first gossip message of an upgraded node: thoughts?