jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform

Home Page:https://www.jaegertracing.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug]: Does Jaeger-all-in-one does not support OpenSearch 2.11?

mong0520 opened this issue · comments

What happened?

I am running Jaeger-all-in-one with ElasticSearch 7 as the storage backend, recently I just upgraded the ES to OpenSearch 2.11, but it seems not supported yet?

Steps to reproduce

Run Jaeger 1.55 and OpenSearch 2.11.0 with docker-compose

jaeger:
    image: jaegertracing/all-in-one:1.55
    ports:
      - "5775:5775/udp"
      - "6831:6831/udp"
      - "6832:6832/udp"
      - "5778:5778"
      - "16686:16686"
      - "14250:14250"
      - "14268:14268"
      - "14269:14269"
      - "4317:4317"
      - "4318:4318"
      - "9411:9411"
    environment:
      COLLECTOR_OTLP_ENABLED: "true"
      SPAN_STORAGE_TYPE: "elasticsearch"
      ES_SERVER_URLS: http://docker.for.mac.host.internal:9200
      ES_USERNAME: master
      ES_PASSWORD: replace_me
      ES_TLS_SKIP_HOST_VERIFY: "true"
      ES_TLS_ENABLED: "true"
      ES_VERSION: "7"
    networks:
      - my-net
    
  opensearch:
    image: opensearchproject/opensearch:2.11.0
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - discovery.type=single-node
      - network.host=0.0.0.0
      - ELASTIC_PASSWORD=replace_me
      - ELASTIC_USERNAME=master
      - plugins.security.disabled=true
    networks:
      - my-net

Then I got error below when I visit the jaeger UI
image

Expected behavior

Support OpenSearch 2.11

Relevant log output

search services failed: elastic: Error 400 (Bad Request): all shards failed [type=search_phase_execution_exception]: RootCause[Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [traceID] in order to load field data by uninverting the inverted index. Note that this can use significant memory. [type=illegal_argument_exception]]: RootCause[Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [traceID] in order to load field data by uninverting the inverted index. Note that this can use significant memory. [type=illegal_argument_exception]]

Screenshot

No response

Additional context

No response

Jaeger backend version

No response

SDK

No response

Pipeline

No response

Stogage backend

OpenSearch

Operating system

MacOS

Deployment model

docker

Deployment configs

No response

Your YAML seems malformed, can you put the correct YAML here?

I tried to reproduce with the following compose.yaml:

services:
  jaeger:
    image: jaegertracing/all-in-one:1.55
    depends_on:
      opensearch:
        condition: service_healthy
    ports:
      - "5775:5775/udp"
      - "6831:6831/udp"
      - "6832:6832/udp"
      - "5778:5778"
      - "16686:16686"
      - "14250:14250"
      - "14268:14268"
      - "14269:14269"
      - "4317:4317"
      - "4318:4318"
      - "9411:9411"
    environment:
      COLLECTOR_OTLP_ENABLED: "true"
      SPAN_STORAGE_TYPE: "elasticsearch"
      ES_SERVER_URLS: http://opensearch:9200
      ES_USERNAME: master
      ES_PASSWORD: replace_me
      ES_TLS_SKIP_HOST_VERIFY: "true"
      ES_TLS_ENABLED: "true"
      ES_VERSION: "7"
    networks:
      - my-net

  opensearch:
    image: opensearchproject/opensearch:2.11.0
    ports:
      - "9200:9200"
      - "9300:9300"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9200"]
      interval: 2s
      timeout: 60s
      retries: 20
    environment:
      - discovery.type=single-node
      - network.host=0.0.0.0
      - ELASTIC_PASSWORD=replace_me
      - ELASTIC_USERNAME=master
      - plugins.security.disabled=true
    networks:
      - my-net

networks:
  my-net:
    driver: bridge

And I can't get any errors. Everything seems to work.

@mong0520 Yeah! Just try with above yaml file. To check it's working, I have also tried with the same and it's working fine.

Seems to be fixed thanks @mong0520