dutow · GitHub

Commits on Aug 21, 2026

  1. Retry databases whose data checksums worker was terminated

    When enabling data checksums, a worker which exited without reporting
    a result is treated as a processing failure, which aborts the whole
    operation and reverts the checksum state to off.  Commit  51f55b1 
    made the launcher treat a killed worker whose database is gone as a
    concurrent drop, but when a DROP DATABASE ... WITH (FORCE) kills the
    worker and then fails to drop the database, for example by exceeding
    the five seconds it waits for terminated backends to exit, the
    database still exists and the enable is aborted.  The same happens
    when an administrator terminates a worker by hand.  A terminated
    worker did not fail to process its database, so throwing away the
    whole operation is both surprising and unnecessary.
    To fix, record in shared memory when the worker is terminated by
    SIGTERM, and make the launcher retry the database rather than abort
    when the database still exists.  Each retry requires another explicit
    termination, so this cannot loop on its own.  A worker failing with an
    error still aborts the operation, and canceling the launcher still
    aborts it as well.
    Discussion: https://postgr.es/m/361531e2-52b5-499c-a126-815f277bbef2@gmail.com

    authored and Commitfest Bot committed

    Aug 21, 2026
    Configuration menu

    Browse the repository at this point in the history

  2. Configuration menu

    Browse the repository at this point in the history

Read the original on github.com ↗