[Bug 271367] sysutils/py-salt: workaround a hanging minion bug

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 11 May 2023 18:11:21 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271367

            Bug ID: 271367
           Summary: sysutils/py-salt: workaround a hanging minion bug
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: krion@FreeBSD.org
          Reporter: kevans@freebsd.org
          Assignee: krion@FreeBSD.org
             Flags: maintainer-feedback?(krion@FreeBSD.org)

Created attachment 242124
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=242124&action=edit
git(1) diff against the ports tree

From the commit:

```
    sysutils/py-salt: workaround a hanging minion issue

    From the patch description:

    --
    Workaround for https://github.com/saltstack/salt/issues/64074

    As of salt v3005, it's possible for a minion process to get
    irrecoverably wedged due to some restructuring in IPC.  Namely, payloads
    that are to be reported back to the master are written over a UNIX
    socket by the very same thread that is expected to drain the socket's
    receive buffer.

    Smaller payloads are fine, but anything that exceeds FreeBSD's default
    receive buffer size (8KB) results in the process hanging in socket write
    for some buffer space that will never come.  The most obvious way to
    identify a hung minion is a lingering zombie child, but it will more
    generally stop responding to salt-master.
    --

    The workaround is to simply bump the receive buffer size so that the
    vast majority of payloads won't trigger it.  This code likely requires
    some restructuring upstream to avoid writing to a pipe that the same
    thread is responsible for draining.

    Submitted by:   Johan Söllvander <jsollvander_axcient.com>
```

The patch was written by Axcient, I've only added a general description atop
the patch. Attached patch is in a format accepted by `git am`.

-- 
You are receiving this mail because:
You are the assignee for the bug.