Skip to content

Redis cluster support Phase 6: cluster e2e CI job + static cross-entity-pipeline lint rule + rollout #48

Description

@zhchxiao123

What to build

Add a local Cluster integration environment (docker-compose.cluster.yml bringing up a minimal 3-master/3-replica Redis Cluster) wired into CI as an optional/slow job (not blocking the default make test run).

Add a static lint/check rule (custom ruff/pylint plugin or simple AST script) that flags any new pipeline() call sequence mixing two different RedisKeys.* factory methods with different parameters, unless that combination is already registered as a same-entity group sharing a hash tag — this guards against reintroducing the cross-entity pipeline bug class fixed in Phase 3.

Update this repo's CLAUDE.md/docs notes on cluster mode support.

Coordinate gradual/staged production rollout of cluster mode for any deployments that want it — this is the actual "turn cluster mode on for real traffic" step, distinct from the key-schema migration in Phase 2b (which can happen while still running standalone).

Acceptance criteria

  • Local Cluster compose environment added, wired as an optional/slow CI job
  • Static lint rule added and passing on current codebase, catching newly introduced cross-entity pipelines in CI
  • Repo docs updated to describe REDIS_MODE=cluster usage and prerequisites
  • Gradual rollout plan documented for any deployment that wants cluster mode enabled, with a rollback path

Blocked by

#46, #47

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions