Skip to content

Fail migrations whose source or destination stops answering #14331

Closed

Description

@ChiragAgg5k

Tracks PR #14330.

Plan

Goal: Migrations whose source or destination accepts a connection but never answers should fail with a recorded error instead of sitting in processing forever (the cause of the intermittent Migrations E2E timeouts in CI).

What changes:

  • src/Appwrite/Platform/Workers/Migrations.php: the scope-probe Client in authenticateSource() gets Target::CONNECT_TIMEOUT and Target::REQUEST_TIMEOUT.
  • composer.json / composer.lock: utopia-php/migration points at branch fix/request-timeouts aliased as 2.0.9 (the library change is fix: time out stalled source and destination requests utopia-php/migration#232: 10s connect timeout, 30s no-bytes limit).
  • tests/e2e/Services/Migrations/MigrationsBase.php: new testAppwriteMigrationFailsWhenSourceNeverAnswers, using a listening socket that never replies.

Remaining steps:

  1. Merge and release fix: time out stalled source and destination requests utopia-php/migration#232.
  2. Switch composer.json from the dev branch alias to the released tag and refresh composer.lock.

Done when:

Activity

  1. self-assigned this
    on Oct 10, 2026
  2. added
    product / authFixes and upgrades for the Appwrite Auth / Users / Teams services.
    product / migrationsFixes and upgrades for the Appwrite Migrations.
    on Oct 10, 2026
  3. ChiragAgg5k commented on Oct 14, 2026

    @ChiragAgg5k
    MemberAuthor

    Released in Appwrite 2.5.0 (includes #14330).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

product / authFixes and upgrades for the Appwrite Auth / Users / Teams services.product / migrationsFixes and upgrades for the Appwrite Migrations.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions