Merge ~aciba/ubuntu/+source/python-s3transfer:merge-lp2061902-noble into ubuntu/+source/python-s3transfer:ubuntu/devel

Proposed by Alberto Contreras
Status: Merged
Merge reported by: Alberto Contreras
Merged at revision: 48b855ddae56fce3684ec4f6a66a2b4cc9ae41e7
Proposed branch: ~aciba/ubuntu/+source/python-s3transfer:merge-lp2061902-noble
Merge into: ubuntu/+source/python-s3transfer:ubuntu/devel
Diff against target: 204 lines (+58/-12)
9 files modified
.changes/0.10.1.json (+7/-0)
CHANGELOG.rst (+6/-0)
debian/changelog (+21/-1)
debian/control (+6/-1)
debian/patches/0001-use-package-module.patch (+2/-4)
debian/patches/0002-no-compat-six.patch (+1/-1)
debian/rules (+5/-2)
s3transfer/__init__.py (+4/-2)
s3transfer/utils.py (+6/-1)
Reviewer Review Type Date Requested Status
Paride Legovini (community) Approve
git-ubuntu import Pending
Review via email: mp+464461@code.launchpad.net

This proposal supersedes a proposal from 2024-04-16.

Commit message

merge-lp2061902-noble

To post a comment you must log in.
Revision history for this message
Alberto Contreras (aciba) wrote : Posted in a previous version of this proposal
Revision history for this message
Paride Legovini (paride) : Posted in a previous version of this proposal
review: Needs Information
Revision history for this message
Paride Legovini (paride) : Posted in a previous version of this proposal
Revision history for this message
Alberto Contreras (aciba) : Posted in a previous version of this proposal
Revision history for this message
Paride Legovini (paride) wrote :

I verified that 0.10.1 is bugfix-only.

The rest LGTM, will wait for the green light for uploading given that we don't have results from a complete autopkgtest run yet.

review: Approve
Revision history for this message
Alberto Contreras (aciba) wrote :
Revision history for this message
Paride Legovini (paride) wrote :

Confirmed that the PPA run is good, and in particular:

117s autopkgtest [12:13:19]: @@@@@@@@@@@@@@@@@@@@ summary
117s pybuild-autopkgtest PASS

Uploaded:

Uploading python-s3transfer_0.10.1-1ubuntu1.dsc
Uploading python-s3transfer_0.10.1-1ubuntu1.debian.tar.xz
Uploading python-s3transfer_0.10.1-1ubuntu1_source.buildinfo
Uploading python-s3transfer_0.10.1-1ubuntu1_source.changes

review: Approve
Revision history for this message
Alberto Contreras (aciba) wrote :

This MR was partially merged. https://code.launchpad.net/~aciba/ubuntu/+source/python-s3transfer/+git/python-s3transfer/+merge/464531 completes the leftovers. Manually setting it as merged.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.changes/0.10.1.json b/.changes/0.10.1.json
2new file mode 100644
3index 0000000..89c98e4
4--- /dev/null
5+++ b/.changes/0.10.1.json
6@@ -0,0 +1,7 @@
7+[
8+ {
9+ "category": "``urllib3``",
10+ "description": "Fixed retry handling for IncompleteRead exception raised by urllib3 2.x during data transfer",
11+ "type": "bugfix"
12+ }
13+]
14\ No newline at end of file
15diff --git a/CHANGELOG.rst b/CHANGELOG.rst
16index c168614..07d09a8 100644
17--- a/CHANGELOG.rst
18+++ b/CHANGELOG.rst
19@@ -2,6 +2,12 @@
20 CHANGELOG
21 =========
22
23+0.10.1
24+======
25+
26+* bugfix:``urllib3``: Fixed retry handling for IncompleteRead exception raised by urllib3 2.x during data transfer
27+
28+
29 0.10.0
30 ======
31
32diff --git a/debian/changelog b/debian/changelog
33index 83f9453..c33f747 100644
34--- a/debian/changelog
35+++ b/debian/changelog
36@@ -1,7 +1,27 @@
37+python-s3transfer (0.10.1-1ubuntu1) noble; urgency=medium
38+
39+ * d/control: add python3-pytest as build dependency and
40+ disable tests that require internet
41+ * d/rules: enable unit tests during build
42+ * d/control: switch from autopkgtest-pkg-python to
43+ autopkgtest-pkg-pybuild to reuse build test configuration
44+ * d/control: Add upstream warning from README.md
45+
46+ -- Alberto Contreras <alberto.contreras@canonical.com> Tue, 16 Apr 2024 22:32:37 +0200
47+
48+python-s3transfer (0.10.1-1) unstable; urgency=medium
49+
50+ * Team upload.
51+ * New upstream version
52+ * Testsuite: autopkgtest-pkg-python (routine-update)
53+ * refresh patches
54+
55+ -- Alexandre Detiste <tchet@debian.org> Fri, 29 Mar 2024 09:32:27 +0100
56+
57 python-s3transfer (0.10.0-1) unstable; urgency=medium
58
59 * Team Upload
60- * New upstream version 0.10.0
61+ * New upstream version 0.10.0 (Closes: #1060760)
62 * depends on new python3-botocore (>= 1.34.18+repack-1~)
63 * do not impored vendored six.py from botocore.compat
64 * use new dh-sequence-python3
65diff --git a/debian/control b/debian/control
66index 9c1d101..f2891ec 100644
67--- a/debian/control
68+++ b/debian/control
69@@ -1,13 +1,16 @@
70 Source: python-s3transfer
71 Section: python
72+Testsuite: autopkgtest-pkg-pybuild
73 Priority: optional
74-Maintainer: Debian Python Team <team+python@tracker.debian.org>
75+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
76+XSBC-Original-Maintainer: Debian Python Team <team+python@tracker.debian.org>
77 Uploaders: TANIGUCHI Takaki <takaki@debian.org>
78 Build-Depends: debhelper-compat (= 13)
79 , python3-all
80 , python3-setuptools
81 , dh-sequence-python3
82 , python3-botocore (>= 1.34.18+repack-1~)
83+ , python3-pytest
84 Rules-Requires-Root: no
85 Standards-Version: 4.6.2
86 Homepage: https://github.com/boto/s3transfer
87@@ -21,3 +24,5 @@ Description: Amazon S3 Transfer Manager for Python3
88 S3transfer is a Python library for managing Amazon S3 transfers.
89 .
90 This package contains the module for Python 3.
91+ This project is not currently GA. For a basic, stable interface of s3transfer,
92+ try the interfaces exposed in python-boto3.
93diff --git a/debian/patches/0001-use-package-module.patch b/debian/patches/0001-use-package-module.patch
94index d892e30..e803b0d 100644
95--- a/debian/patches/0001-use-package-module.patch
96+++ b/debian/patches/0001-use-package-module.patch
97@@ -6,14 +6,12 @@ Subject: use package module
98 s3transfer/__init__.py | 2 +-
99 1 file changed, 1 insertion(+), 1 deletion(-)
100
101-diff --git a/s3transfer/__init__.py b/s3transfer/__init__.py
102-index c6760f8..a53bfe0 100644
103 --- a/s3transfer/__init__.py
104 +++ b/s3transfer/__init__.py
105-@@ -136,7 +136,7 @@ import threading
106+@@ -136,7 +136,7 @@
107
108 from botocore.compat import six # noqa: F401
109- from botocore.exceptions import IncompleteReadError
110+ from botocore.exceptions import IncompleteReadError, ResponseStreamingError
111 -from botocore.vendored.requests.packages.urllib3.exceptions import (
112 +from urllib3.exceptions import (
113 ReadTimeoutError,
114diff --git a/debian/patches/0002-no-compat-six.patch b/debian/patches/0002-no-compat-six.patch
115index ae1294a..2039656 100644
116--- a/debian/patches/0002-no-compat-six.patch
117+++ b/debian/patches/0002-no-compat-six.patch
118@@ -18,6 +18,6 @@ Forwarded: https://github.com/boto/s3transfer/pull/300
119 import threading
120
121 -from botocore.compat import six # noqa: F401
122- from botocore.exceptions import IncompleteReadError
123+ from botocore.exceptions import IncompleteReadError, ResponseStreamingError
124 from urllib3.exceptions import (
125 ReadTimeoutError,
126diff --git a/debian/rules b/debian/rules
127index 79548d2..1d68bdf 100755
128--- a/debian/rules
129+++ b/debian/rules
130@@ -1,8 +1,11 @@
131 #!/usr/bin/make -f
132
133 export PYBUILD_NAME=s3transfer
134-# requires network access
135-export PYBUILD_DISABLE=test
136+export PYBUILD_TEST_ARGS={dir}/tests/unit \
137+ --deselect tests/unit/test_processpool.py::TestClientFactory::test_create_client \
138+ --deselect tests/unit/test_processpool.py::TestClientFactory::test_user_agent_with_config \
139+ --deselect tests/unit/test_processpool.py::TestClientFactory::test_user_agent_with_existing_user_agent \
140+ --deselect tests/unit/test_processpool.py::TestClientFactory::test_user_agent_with_existing_user_agent_extra
141
142 %:
143 dh $@ --buildsystem=pybuild
144diff --git a/s3transfer/__init__.py b/s3transfer/__init__.py
145index d2a7191..4ada4a8 100644
146--- a/s3transfer/__init__.py
147+++ b/s3transfer/__init__.py
148@@ -135,7 +135,7 @@ import string
149 import threading
150
151 from botocore.compat import six # noqa: F401
152-from botocore.exceptions import IncompleteReadError
153+from botocore.exceptions import IncompleteReadError, ResponseStreamingError
154 from botocore.vendored.requests.packages.urllib3.exceptions import (
155 ReadTimeoutError,
156 )
157@@ -144,7 +144,7 @@ import s3transfer.compat
158 from s3transfer.exceptions import RetriesExceededError, S3UploadFailedError
159
160 __author__ = 'Amazon Web Services'
161-__version__ = '0.10.0'
162+__version__ = '0.10.1'
163
164
165 class NullHandler(logging.Handler):
166@@ -624,6 +624,7 @@ class MultipartDownloader:
167 OSError,
168 ReadTimeoutError,
169 IncompleteReadError,
170+ ResponseStreamingError,
171 ) as e:
172 logger.debug(
173 "Retrying exception caught (%s), "
174@@ -840,6 +841,7 @@ class S3Transfer:
175 OSError,
176 ReadTimeoutError,
177 IncompleteReadError,
178+ ResponseStreamingError,
179 ) as e:
180 # TODO: we need a way to reset the callback if the
181 # download failed.
182diff --git a/s3transfer/utils.py b/s3transfer/utils.py
183index 9954dc0..ef171f5 100644
184--- a/s3transfer/utils.py
185+++ b/s3transfer/utils.py
186@@ -21,7 +21,11 @@ import string
187 import threading
188 from collections import defaultdict
189
190-from botocore.exceptions import IncompleteReadError, ReadTimeoutError
191+from botocore.exceptions import (
192+ IncompleteReadError,
193+ ReadTimeoutError,
194+ ResponseStreamingError,
195+)
196 from botocore.httpchecksum import AwsChunkedWrapper
197 from botocore.utils import is_s3express_bucket
198
199@@ -41,6 +45,7 @@ S3_RETRYABLE_DOWNLOAD_ERRORS = (
200 SOCKET_ERROR,
201 ReadTimeoutError,
202 IncompleteReadError,
203+ ResponseStreamingError,
204 )
205
206

Subscribers

People subscribed via source and target branches