apache / solr-operator

Official Kubernetes operator for Apache Solr
https://solr.apache.org/operator
Apache License 2.0
243 stars 112 forks source link

Get correct SolrPods in SolrCloud controller #634

Closed HoustonPutman closed 9 months ago

HoustonPutman commented 9 months ago

The SolrCloud controller needs to fetch the list of Solr Pods for a given SolrCloud, in order to determine what to restart and construct the SolrCloud.Status object. However, when an old SolrCloud has been deleted and a new SolrCloud has been created (with the same name), there may be time when the new SolrCloud has been created, but the Pods for the old SolrCloud have not yet been deleted. So the SolrCloud controller will then think that the old Pods are related to the new SolrCloud, because they have the right labels. This isn't the case however, so we need to make sure that only the SolrCloud Pods that are actually related to that SolrCloud are fetched.

This is unlikely to show up in a production setting, but it causes havoc with the integration tests more than occasionally.

I have also added the StatefulSet json to the output for integration tests, allowing us to better debug failures.