StackExchange / StackExchange/StackExchange.Redis

Timeout connecting to bitnami redis cluster hosted on GKE where passing 6 lb dns:30690

Open
#2,411 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

⚙️ area:connection ❔ question
Dominant language
C#
Stars
6.2k
Forks
1.6k
Avg merge
1d 15h
Merged PRs (30d)
43

Description

We have deployed Bitnami Redis cluster on GKE. After deployment we got 6 external lb services name which then we mapped with dns and are of type dns0:30690, dns1:30690, dns2:30690, dns3:30690, dns4:30690, dns5:30690. 6 pods with 3 master and 3 slave is created with redis cluster deployment by bitnami redis cluster chart with above 6 external ips.

We use stack exchange redis client pkg to read/write on our redis cluster from outside GKE hosted apps.

Do we need to provide all 6 lb dns names in connect method or just one is fine? as when I just pass one dns name it start writing data to redis cluster but on providing all 6 dns names in connect method it throws timeout exception.

Connect method passing with one dns: ConnectionMultiplexer.Connect(6dns names

Connect method failing with timeout: ConnectionMultiplexer.Connect([6dns names](dns0:30690, dns1:30690, dns2:30690, dns3:30690, dns4:30690, dns5:30690)
Error: (Increasing timeout doesnot help)
ExceptionStack = [StackExchange.Redis.RedisTimeoutException: Timeout performing EXISTS (5000ms), inst: 0, qu: 0, qs: 0, aw: False, bw: Inactive, rs: ReadAsync, ws: Idle, in: 0, last-in: 4, cur-in: 0, sync-ops: 1, async-ops: 2,

Is it right to think that passing just one dns0:30690 internally searches

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 ConnectionMultiplexer.Connect and the Redis cluster endpoint configuration described in the issue. Reproduce the timeout using one endpoint and then all six GKE load-balancer DNS names, and determine whether the multi-endpoint connection succeeds without RedisTimeoutException.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, redis
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.