The RoutingInformationCache keeps in memory a ChunkInfo struct data for every chunk and it's passed as a reference every time a chunk is consulted.
All the ChunkInfo attributes are const except for the jumbo flag. Therefore, we have a data race since there is no mechanism to serialize its read and writes.
Here is a point where the jumbo flag is written. And here is a point where the jumbo flag is read.
Dumping some extra clarifications:
When the jumbo flag is set, we update the config.chunks collection and the RoutingInformationCache at the same time. Usually, the chunk updates are only applied to the config.chunks collection and, later, the RoutingInformationCache detects those changes and refreshes its cache. But, in the case of the jumbo flag, we are not increasing the collection version to avoid having an unnecessary refresh on every shard, therefore, we also have to force the update on the RoutingInformationCache side, otherwise, we wouldn't see the change until the RoutingInformationCache was reset.