Skip to content

Remove flushAll from DialCache and Redis adapter contracts #13

Description

@lan17

Priority

P0 — Critical — resolve before the next release presented as production-ready.

Problem

DialCache.flushAll() delegates to raw Redis/Valkey FLUSHALL, ignores redis.keyPrefix, and broadcasts across every cluster primary. A library-scoped maintenance method can therefore delete unrelated application data.

Evidence on reviewed main (2bda04d1443a75a71cbbc41365c4424554936a37):

Confirmed decision

Remove this capability entirely. Do not add a replacement clearing API in this issue.

Acceptance criteria

  • Remove DialCache.flushAll().
  • Remove flushAll() from DialCacheRedisClient and both bundled adapters.
  • Remove dead internal flush plumbing and every library-initiated FLUSHALL/flushall call.
  • Update README, package-consumer mocks, unit tests, and integration tests.
  • Raw administrative flushes may remain only in isolated test-fixture setup, outside the DialCache API.
  • Document the breaking change in release notes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions