electric-sql / electric-sql/electric
Bug: Electric Cloud creates replication slots with failover=false (docs say otherwise)
- Dominant language
- TypeScript
- Stars
- 10.4k
- Forks
- 375
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 18
Description
## Description
The [PlanetScale integration docs](https://electric-sql.com/docs/integrations/planetscale) state:
> "Electric creates failover-enabled slots automatically"
However, Electric Cloud creates replication slots with `failover = false`:
```sql
SELECT slot_name, failover FROM pg_replication_slots;
-- cloud_electric_slot_svc_ | FALSE
```
## Impact
When PlanetScale performs a cluster update (e.g., version upgrade), replication slots with `failover = false` are dropped. Electric Cloud does not detect this and continues serving stale data indefinitely — no error is logged, no reconnection is attempted.
This caused a **silent ~34 hour outage** where the UI appeared functional (SSE streams running, cursors incrementing) but no new data was delivered.
## Environment
- Electric Cloud (managed service)
- PlanetScale Postgres
- Cluster parameters correctly configured:
- `sync_replication_slots = on`
- `hot_standby_feedback = on`
- Slot name listed in Failover configuration
## Steps to Reproduce
1. Create an Electric Cloud source connected to PlanetScale Postgres
2. Verify slot: `SELECT slot_name, failover FROM pg_replication_slots;` → failover = false
3. Wait for PlanetScale cluster update (or trigger one)
4. Slot is dropped, Electric Cloud serves stale data silently
## Expected Behavior
- Electric should create slots with `failover = true` as documented
- If the slot is lost, Electric should detect this and either recreate it or surface an error
## Workaround
Delete the Electric Cloud source and create a new one, which requires updating `SOURCE_ID` and `SOURCE_SECRET` in all environments.
Contributor guide
Assessment
This issue has not been assessed yet.