Skip to content

[Drift] Configurable heartbeat interval added for MongoDB/Postgres/SQL Server replication; MongoDB now writes checkpoint heartbeats by default (powersync-service #747) #556

Description

@benitav

What's changing: PowerSync Service adds a configurable heartbeat_interval_seconds option for MongoDB, Postgres, and SQL Server replication sources. For MongoDB sources specifically, the default behavior also changes: if there's no recent resume-token update (typically due to replication lag from bulk writes elsewhere in the cluster), the service now writes a heartbeat to _powersync_checkpoints so the change stream can make progress once it catches up. This is aimed at avoiding the PSYNC_S1345 change stream timeout error, which previously could require re-replication from scratch to recover.

High priority — existing docs are now inaccurate or incomplete

  • Error Codes Reference (https://docs.powersync.com/debugging/error-codes) — the PSYNC_S1345 entry describes the timeout ("Failed to read MongoDB Change Stream due to a timeout... If this is not resolved after retries, replication may need to be restarted from scratch") but doesn't mention the new heartbeat_interval_seconds option or the MongoDB default-behavior change specifically designed to reduce/avoid this error.

For reviewer consideration — may be worth documenting

  • Self-Hosted Instance Configuration (https://docs.powersync.com/configuration/powersync-service/self-hosted-instances) — the example service.yaml replication config skeleton doesn't list heartbeat_interval_seconds as a supported replication.connections option. Candidate for addition if the team wants it documented as an advanced/tunable setting; the PR notes the configurable range may still expand over time.

Source PR: powersync-ja/powersync-service#747 — merged 2026-08-05.

Note: docs.powersync.com (llms.txt/llms-full.txt) was unreachable from this run's sandboxed network (egress policy denial to that host). Verification above was done directly against the current MDX source in the powersync-docs repo instead.

Filed automatically by Claude Code (claude-sonnet-5). A human must verify the scope, prepare the docs PR, and publish it only once this update has been released.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions