Uploaded image for project: 'OpenShift Logging'
  1. OpenShift Logging
  2. LOG-2463

Elasticsearch operator repeatedly prints error message when checking indices


    • False
    • None
    • False
    • NEW
    • 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

      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:

      1. Create an open shift instance
      2. Install the ElasticSearch and Distributed Tracing operators
      3. oc create namespace simple
      4. oc apply --namespace simple -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/main/examples/openshift/simple-prod-deploy-es.yaml
      5. Once the es instance is created check the elasticsearch operator logs

            sasagarw@redhat.com Sashank Agarwal (Inactive)
            kearls@redhat.com Kevin Earls (Inactive)
            Qiaoling Tang Qiaoling Tang
            0 Vote for this issue
            7 Start watching this issue