View | Details | Raw Unified | Return to bug 271367
Collapse All | Expand All

(-)b/sysutils/py-salt/Makefile (-1 / +1 lines)
Lines 1-6 Link Here
1
PORTNAME=	salt
1
PORTNAME=	salt
2
PORTVERSION=	3005.1
2
PORTVERSION=	3005.1
3
PORTREVISION=	1
3
PORTREVISION=	2
4
CATEGORIES=	sysutils python
4
CATEGORIES=	sysutils python
5
MASTER_SITES=	PYPI
5
MASTER_SITES=	PYPI
6
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
6
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
(-)b/sysutils/py-salt/files/patch-salt_ext_tornado_iostream.py (-1 / +23 lines)
Added Link Here
0
- 
1
Workaround for https://github.com/saltstack/salt/issues/64074
2
3
As of salt v3005, it's possible for a minion process to get irrecoverably
4
wedged due to some restructuring in IPC.  Namely, payloads that are to be
5
reported back to the master are written over a UNIX socket by the very same
6
thread that is expected to drain the socket's receive buffer.
7
8
Smaller payloads are fine, but anything that exceeds FreeBSD's default receive
9
buffer size (8KB) results in the process hanging in socket write for some buffer
10
space that will never come.  The most obvious way to identify a hung minion is
11
a lingering zombie child, but it will more generally stop responding to
12
salt-master.
13
14
--- salt/ext/tornado/iostream.py.orig	2022-11-02 13:25:04 UTC
15
+++ salt/ext/tornado/iostream.py
16
@@ -1116,6 +1116,7 @@ class IOStream(BaseIOStream):
17
             future = self._connect_future = TracebackFuture()
18
         try:
19
             self.socket.connect(address)
20
+            self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 524288)
21
         except socket.error as e:
22
             # In non-blocking mode we expect connect() to raise an
23
             # exception with EINPROGRESS or EWOULDBLOCK.

Return to bug 271367