openstreetmap / openstreetmap/mod_tile

Enable keepalives for TCP connections to renderd

Open
#270 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
318
Forks
199
PR merge metrics
No merged PRs in 30d

Description

PR #263 provides TCP connections to renderd. However, when there is a load balancer (or Kubernetes service backed by the Linux IPVS, in my case) between render_list and renderd, it silently closes TCP connections due to inactivity (because renderd is busy) after some time (15 minutes, in my case) causing render_list to fail. Enabling TCP keepalives on the socket keeps the connection alive.

I am preparing a PR for this.

Contributor guide

No contributing guide indexed for this repository

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 PR #263 and trace the TCP connection setup between render_list and renderd. Enable keepalives on the relevant socket, then verify that an idle connection remains usable through the load balancer or Kubernetes IPVS service instead of causing render_list to fail.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
networking
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.