#38147 and #38004 both introduced an incompatibility with old versions of cockroach where RangeDescriptors could no longer be updated. This is because we were using CPut with a proto as the expected value, which is A Bad Idea (see #38302 for why). #38302 tried to fix this by CPut'ing bytes when updating RangeDescriptors. It fixed the new node reading RangeDescriptor written by an old node, but didn't fix an old node reading a RangeDescriptor written by a new node. This means we can't run mixed clusters with old versions of cockroach (splits, replica addition, replica movement, etc are broken).
This is blocking the 19.2.0-alpha.20190701 release
#38147 and #38004 both introduced an incompatibility with old versions of cockroach where RangeDescriptors could no longer be updated. This is because we were using CPut with a proto as the expected value, which is A Bad Idea (see #38302 for why). #38302 tried to fix this by CPut'ing bytes when updating RangeDescriptors. It fixed the new node reading RangeDescriptor written by an old node, but didn't fix an old node reading a RangeDescriptor written by a new node. This means we can't run mixed clusters with old versions of cockroach (splits, replica addition, replica movement, etc are broken).
This is blocking the 19.2.0-alpha.20190701 release