ADR 0003: Redis Stream consumers phase 2
Status
Accepted. Runtime direction (streams-only, outbox) is superseded by ADR 0004. This ADR remains the record of the consume cutover and the emergency rollback toggles.
Context
After phase 1, publishers could select splick.events.transport as DUAL, PUBSUB, or STREAMS. Social and communication gained stream consumers. Pub/Sub consumers stayed as a fallback.
Decision
- Keep the publisher transport configurable.
- Enable Redis Streams consumers by default for social-service and communication-service.
- Disable Pub/Sub consumers by default.
Defaults at that phase: SHARED_EVENTS_CONSUMER_STREAMS_ENABLED=true, SHARED_EVENTS_CONSUMER_PUBSUB_ENABLED=false, publisher still DUAL unless overridden.
Consequences
The default path gained consumer groups and retention. Pub/Sub remained an incident lever, not the design.
Rollback
SHARED_EVENTS_CONSUMER_STREAMS_ENABLED=falseSHARED_EVENTS_CONSUMER_PUBSUB_ENABLED=true- Keep publisher
DUALduring the switch so events are not dropped. - Re-enable streams after lag looks normal.
Current production default is streams-only outbox publish, so this rollback needs a deliberate decision. It is not a config flip to try first.