[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
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