An incomplete shard snapshot will prevent a shard from moving away from a node (see `SnapshotInProgressAllocationDecider`). That means that when a shard snapshot completes it may become possible to perform some shard movements that previously were not possible, so we should trigger a reroute to start those movements. AFAICT we do not trigger such a reroute today.
server/src/main/java/org/elasticsearch/snapshots/SnapshotsService.java
inFlightShardStates = null;
                            }
                            for (Tuple<IndexId, Integer> count : counts) {
                                for (int shardId = 0; shardId < count.v2(); shardId++) {
                                    final RepositoryShardId repoShardId = new RepositoryShardId(count.v1(), shardId);
                                    final String indexName = repoShardId.indexName();
                                    if (readyToExecute == false || inFlightShardStates.isActive(indexName, shardId)) {
                                        clonesBuilder.put(repoShardId, ShardSnapshotStatus.UNASSIGNED_QUEUED);
                                    } else {
                                        clonesBuilder.put(
                                            repoShardId,
                                            new ShardSnapshotStatus(
                                                localNodeId,
                                                inFlightShardStates.generationForShard(repoShardId.index(), shardId, shardGenerations)
                                            )
                                        );
                                    }
                                }
                            }
                            updatedEntry = cloneEntry.withClones(clonesBuilder.build());
                        } else {
                            updatedEntries.add(existing);
                        }
                    }
                    if (updatedEntry != null) {
                        
                        
                        
                        updatedEntries.add(updatedEntry);