Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-thespian for openSUSE:Factory 
checked in at 2023-12-08 22:33:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-thespian (Old)
 and      /work/SRC/openSUSE:Factory/.python-thespian.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-thespian"

Fri Dec  8 22:33:25 2023 rev:5 rq:1132082 version:3.10.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-thespian/python-thespian.changes  
2022-10-12 18:25:56.945852985 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-thespian.new.25432/python-thespian.changes   
    2023-12-08 22:34:20.561053813 +0100
@@ -1,0 +2,6 @@
+Fri Dec  8 12:23:36 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 3.10.7:
+  * Fix Issue #70: setting TCP_NODELAY on MacOS sometimes fails
+
+-------------------------------------------------------------------

Old:
----
  thespian-3.10.6.zip

New:
----
  thespian-3.10.7.zip

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-thespian.spec ++++++
--- /var/tmp/diff_new_pack.mkV7bN/_old  2023-12-08 22:34:21.193077068 +0100
+++ /var/tmp/diff_new_pack.mkV7bN/_new  2023-12-08 22:34:21.193077068 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-thespian
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-thespian
-Version:        3.10.6
+Version:        3.10.7
 Release:        0
 Summary:        Python Actor concurrency library
 License:        MIT

++++++ thespian-3.10.6.zip -> thespian-3.10.7.zip ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/thespian-3.10.6/PKG-INFO new/thespian-3.10.7/PKG-INFO
--- old/thespian-3.10.6/PKG-INFO        2022-01-09 21:01:04.000000000 +0100
+++ new/thespian-3.10.7/PKG-INFO        2023-01-15 23:07:50.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: thespian
-Version: 3.10.6
+Version: 3.10.7
 Summary: Python Actor concurrency library
 Home-page: http://thespianpy.com
 Author: Kevin Quick
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/thespian-3.10.6/doc/releases.org 
new/thespian-3.10.7/doc/releases.org
--- old/thespian-3.10.6/doc/releases.org        2022-01-09 16:02:06.000000000 
+0100
+++ new/thespian-3.10.7/doc/releases.org        2023-01-15 22:57:12.000000000 
+0100
@@ -10,7 +10,7 @@
 #+LATEX_HEADER: \product{Thespian}
 #+LATEX_HEADER: \component{Python Actor System}
 #+LATEX_HEADER: \doctype{Release Notes}
-#+LATEX_HEADER: \docrev{3.10.6}{2022 Jan 09}
+#+LATEX_HEADER: \docrev{3.10.7}{2023 Jan 15}
 #+LATEX_HEADER: \docid{TheDoc-06}
 #+OPTIONS: ^:nil num:nil
 
@@ -20,6 +20,15 @@
 do not change the API.
 
 * Summary
+
+** 2023
+
+ | Release |       Date | Significant Bugfixes                                 
         | Significant Features |
+ 
|---------+------------+---------------------------------------------------------------+----------------------|
+ |  3.10.7 | 2023-01-15 | Fix 
[[https://github.com/thespianpy/Thespian/issues/70][Issue #70]]: setting 
~TCP_NODELAY~ on MacOS sometimes fails |                      |
+ |         |            |                                                      
         |                      |
+
+
 ** 2022
 
  | Release |       Date | Significant Bugfixes | Significant Features          
               |
@@ -186,6 +195,12 @@
 
 ** 3.10
 
+*** 3.10.7 <2023-01-15 Sun>
+
+    * Fixes issue 70 where spurious connections would not allow setting
+      ~TCP_NODELAY~ on the incoming socket (probably due to non-TCP connection
+      attempt or Ipv6 alternate headers).
+
 *** 3.10.6 <2022-01-09 Sun>
 
     * Adds Beta support for convention fault tolerance by allowing the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/thespian-3.10.6/setup.py new/thespian-3.10.7/setup.py
--- old/thespian-3.10.6/setup.py        2022-01-09 16:02:06.000000000 +0100
+++ new/thespian-3.10.7/setup.py        2023-01-15 22:57:30.000000000 +0100
@@ -2,7 +2,7 @@
 
 setup(
     name = 'thespian',
-    version = '3.10.6',
+    version = '3.10.7',
     description = 'Python Actor concurrency library',
     author = 'Kevin Quick',
     author_email = 'qu...@sparq.org',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/thespian-3.10.6/thespian/system/transport/TCPTransport.py 
new/thespian-3.10.7/thespian/system/transport/TCPTransport.py
--- old/thespian-3.10.6/thespian/system/transport/TCPTransport.py       
2022-01-09 15:59:26.000000000 +0100
+++ new/thespian-3.10.7/thespian/system/transport/TCPTransport.py       
2023-01-15 22:45:44.000000000 +0100
@@ -856,8 +856,14 @@
         intent.socket.setblocking(0)
         # Disable Nagle to transmit headers and acks asap; our sends
         # are usually small
-        intent.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
-
+        try:
+            intent.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+        except OSError as e:
+            if e.errno == errno.EINVAL:
+                # See note elsewhere regarding Issue#70.
+                pass
+            else:
+                raise
         try:
             intent.socket.connect(*intent.targetAddr
                                          .addressDetails.connectArgs)
@@ -1344,6 +1350,12 @@
         accepted = False
         try:
             lsock, rmtTxAddr = self.new_socket(self.socket.accept)
+            if (lsock.proto != socket.IPPROTO_TCP
+                or lsock.family != socket.AF_INET
+                or lsock.type != socket.SOCK_STREAM):
+                # Spurious connection attempt: ignore
+                lsock.close()
+                return
             accepted = True
         except (OSError, socket.error) as ex:
             thesplog('Error accepting incoming: %s', ex)
@@ -1354,7 +1366,21 @@
             return
         lsock.setblocking(0)
         # Disable Nagle to transmit headers and acks asap
-        lsock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+        try:
+            lsock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+        except OSError as e:
+            if e.errno == errno.EINVAL:
+                # Issue#70: Some system socket code (e.g. MacOS) does not allow
+                # this socket option to be set if the socket is not fully setup
+                # or is being torn down.  Not applying this setting can degrade
+                # performance due to Nagle-algorithm delays since Thespian
+                # operation usually consists of small packets exchanged in
+                # handshake manner rather than longer streams of larger data. 
See
+                # https://github.com/envoy/proxy/envoy/issues/1446 for 
additional
+                # information.
+                pass
+            else:
+                raise
         # Note that the TCPIncoming is initially None.
         # Due to the way sockets work, the transmit comes from a
         # system-selected port that is different from the port that
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/thespian-3.10.6/thespian.egg-info/PKG-INFO 
new/thespian-3.10.7/thespian.egg-info/PKG-INFO
--- old/thespian-3.10.6/thespian.egg-info/PKG-INFO      2022-01-09 
21:01:04.000000000 +0100
+++ new/thespian-3.10.7/thespian.egg-info/PKG-INFO      2023-01-15 
23:07:50.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: thespian
-Version: 3.10.6
+Version: 3.10.7
 Summary: Python Actor concurrency library
 Home-page: http://thespianpy.com
 Author: Kevin Quick

Reply via email to