-
Bug
-
Resolution: Done
-
Normal
-
Logging 5.4.z
-
False
-
None
-
False
-
NEW
-
VERIFIED
-
Before this update, the Operator could not decode index setting json responses with a quoted boolean value and would result in an error. With this update, the Operator can properly decode this json response.
-
Logging (LogExp) - Sprint 217, Logging (LogExp) - Sprint 218, Log Storage - Sprint 224
During the reconcile loop the ElasticSearch operator calls this code https://github.com/openshift/elasticsearch-operator/blob/master/internal/elasticsearch/esclient/indices.go#L96-L126 which does not properly handle the json returned for an index, when that es instance is created by the distributed tracing operator.
The reason for that is this definition https://github.com/openshift/elasticsearch-operator/blob/master/internal/types/elasticsearch/types.go#L114-L116, which expects the value of mapper.dynamic to be an unquoted bool value. The elasticsearch settings api returns this as a quoted value. A simple fix would be to change that code to "Dynamic bool `json:"dynamic,string"
It would also be good and make future issues easier to resolve if the error returned by the json marshal/unmarshal calls was written to the log
This is a followup to TRACING-2288 To reproduce:
- Create an open shift instance
- Install the ElasticSearch and Distributed Tracing operators
- oc create namespace simple
- oc apply --namespace simple -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/main/examples/openshift/simple-prod-deploy-es.yaml
- Once the es instance is created check the elasticsearch operator logs
- clones
-
LOG-2463 Elasticsearch operator repeatedly prints error message when checking indices
- Closed
- links to