Skip to content

Fix: on redis error fallback#2

Open
razbroc wants to merge 3 commits into
refactor/orgnize-dockerfile-structurefrom
fix/on-redis-error-fallback
Open

Fix: on redis error fallback#2
razbroc wants to merge 3 commits into
refactor/orgnize-dockerfile-structurefrom
fix/on-redis-error-fallback

Conversation

@razbroc

@razbroc razbroc commented Mar 10, 2026

Copy link
Copy Markdown
Collaborator

This pull request introduces a fault-tolerant patch for MapProxy's Redis cache backend to improve resilience and prevent tile requests from being stalled by slow or unreachable Redis servers. The patch is applied at build time via the Dockerfile, and several new environment variables are introduced for configuring Redis connection timeouts and TLS support.

Redis cache resilience and configuration:

  • Added a patched version of redis.py in config/patch/redis.py that makes all Redis cache operations fault-tolerant by catching connection errors and returning a cache miss instead of raising exceptions. This ensures MapProxy can transparently fall back to alternate sources if Redis is unavailable. The patch also adds support for configurable socket and connection timeouts, pool timeouts, and optional TLS via environment variables.
  • Updated the Dockerfile to apply the patched redis.py at build time using a bind mount, with an option to skip the patch for upstream compatibility testing. The build will abort if the patch fails to apply or import.

Environment variable defaults:

  • Added default environment variables in the Dockerfile to set short Redis socket and connection timeouts, pool timeout, TLS usage, and server certificate requirements. These defaults ensure that slow or unreachable Redis instances do not block tile requests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant