When two Kieservers pods or more are bootstrapped on multi-KieServer-Pod environment, then there could be a race condition to create config maps by two or more Kieserver pods, the following error could show up in the logs:
This error could be safely ignored since the ConfigMap will be created and the pods will work normally.
The proposed change is to add a new catch in this part of the code to handle this exception as a warn that can be safely ignored.
In 7.4.0 a "Known Issue" should be documented alerting users that this error message can be safely ignored explaining that is a simple racing condition to create the configmap used by Kieservers during runtime. The configmap will be created and the pods will work as expected.
Intermittently, the Watcher is closed due to random KubernetesClientException, such as this 'too old resource version'.
It could be related to known issues from k8s or f8 kube-client. While waiting for the lower level lib to address such issue, from upper level API client perspective, potential options are:
Option 1 (Short Term):
Escalate log message level, gracefully terminate Watcher thread, and recommend a Pod recycle.
Option 2 (Long Term):
Refactor out the Watcher logic from OpenShiftStartupStrategy into a dedicate component with enhanced resiliency, such as being able to restart Watcher should it exits abnormally.