Reading cluster state information using /collections?action=CLUSTERSTATUS can fail if there's a concurrent /collections?action=DELETE operation.
The code in ClusterStatus.getClusterStatus
- gets collection names
- for every collection reads its cluster state info using ClusterState.getCollection
The problem is that if there's a DELETE operation in between then ClusterState.getCollection can fail thus causing the whole operation to fail. It seems that it would be better to call ClusterState.getCollectionOrNull and skip/ignore that collection if the result is null.