• Ensuring in-order execution

    From John Goerzen@21:1/5 to All on Mon Nov 8 14:53:12 2021
    Hi,

    I'm wondering if there are any generic programs out there to help ensure in-order execution.

    My particular use case: sending incremental backups over NNCP, though this is the same problem as sending them over UUCP; namely, that nncp-exec/uuxqt aren't able to make guarantees about executing commands in order, since they may arrive
    via varying paths, etc.

    I've worked around this in a couple of ways:

    1) When using ZFS incrementals, zfs receive detects the out of order situation and exits with an error.

    2) When using tar or dar incrementals, I keep a "last processed" file on both the sender and recipient, and part of the request references the sequence number
    of the previous file, so the wrapper script can verify that before proceeding.

    It's this situation #2 that I think must certainly have some generic solution, as I keep seeming to reinvent it every few months. I'm sure that in the earlier
    days of Unix and UUCP, this was a fairly common problem and it seems to me that a generic solution must exist, but my searching has been futile so far.

    Any ideas welcome.

    Thanks,

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Goerzen@21:1/5 to John Goerzen on Tue Jun 14 17:44:00 2022
    I eventually decided to write something to solve this:

    https://changelog.complete.org/archives/10368-fast-ordered-unixy-queues-over-nncp-and-syncthing-with-filespooler

    On 2021-11-08, John Goerzen <jgoerzen@complete.org> wrote:
    Hi,

    I'm wondering if there are any generic programs out there to help ensure in-order execution.

    My particular use case: sending incremental backups over NNCP, though this is the same problem as sending them over UUCP; namely, that nncp-exec/uuxqt aren't
    able to make guarantees about executing commands in order, since they may arrive
    via varying paths, etc.

    I've worked around this in a couple of ways:

    1) When using ZFS incrementals, zfs receive detects the out of order situation
    and exits with an error.

    2) When using tar or dar incrementals, I keep a "last processed" file on both the sender and recipient, and part of the request references the sequence number
    of the previous file, so the wrapper script can verify that before proceeding.

    It's this situation #2 that I think must certainly have some generic solution,
    as I keep seeming to reinvent it every few months. I'm sure that in the earlier
    days of Unix and UUCP, this was a fairly common problem and it seems to me that
    a generic solution must exist, but my searching has been futile so far.

    Any ideas welcome.

    Thanks,

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)