opensearch-project / opensearch-project/data-prepper

DNS resolution fails after all pods restart in peer-forwarder cluster mode

Open
#5,977 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
Dominant language
Java
Stars
374
Forks
354
Avg merge
3d 18h
Merged PRs (30d)
8

Description

When running Data Prepper in peer-forwarder cluster mode with DNS discovery enabled, the service fails to recover after all three pods restart simultaneously. The following error occurs repeatedly:

WARN com.linecorp.armeria.client.endpoint.dns.DefaultDnsQueryListener - data-prepper-headless.otel.svc.cluster.local DNS query failed; retrying in 8635 ms (attempts so far: 4): java.util.concurrent.CompletionException: java.net.UnknownHostException: Failed to resolve 'data-prepper-headless.otel.svc.cluster.local.'

The application is deployed using a Kubernetes Deployment

Current Configuration:

  data-prepper-config.yaml: |
    ssl: false
    peer_forwarder:
      ssl: false
      discovery_mode: dns
      domain_name: "data-prepper-headless.otel.svc.cluster.local"
      port: 4994
      buffer_size: 10000
      batch_size: 500
      drain_timeout: 60s

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the peer-forwarder DNS discovery configuration in data-prepper-config.yaml and reproduce the failure using the Kubernetes Deployment after all three pods restart together. Trace how the data-prepper-headless DNS name is resolved and determine what successful recovery should look like after the cluster returns.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kubernetes
Domain
devops, distributed-systems, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.