fcf1110ab29300c1d474c2b1886a62d16b3ec27a
Commit Graph

10359 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Tim Burke
ca0dd8d703 docs: Remove references to out-dated install guides
Change-Id: Idbff951506ee2f3b288eda00217c902314393877
2023年05月16日 15:31:13 -07:00
Zuul
e6792bccef Merge "testing xattr metadata with py3.8" 2023年05月15日 08:23:40 +00:00
Zuul
e6203384c2 Merge "Properly read py2 object metadata on py3" 2023年05月15日 08:23:37 +00:00
Zuul
8f84aef700 Merge "disable requests_mock pytest plugin" 2023年05月12日 19:57:03 +00:00
Clay Gerrard
c4c9d5a40b move test_GET_pipeline to BaseTestObjectController
Change-Id: I1f26483dbc5935052ec8df0c874ee38070b84d5b
2023年05月12日 12:24:42 -05:00
Clay Gerrard
9adc3ce425 disable requests_mock pytest plugin
While we use requests-mock, we don't need the pytest plugin.
Change-Id: If14e4d2c1af2efcbc99e9b6fe10973a7eb94d589
2023年05月10日 14:45:33 -07:00
Jianjian Huo
7b4642567a Memcached: emit memcache timing metrics when exceptions raised
Below new metrics will be added:
memcached.[method].timeout.timing
memcached.[method].conn_err.timing
memcached.[method].errors.timing
Also, MemcacheRing method and time spent in the function will
be logged when Timeout or other exceptions are raised.
Co-Authored-By: Alistair Coles <alistairncoles@gmail.com>
Change-Id: I4d4f20b92b85255ac8bf66f2c830e691e64bbe47
2023年05月10日 13:27:58 -07:00
Shreeya Deshpande
647ee83906 Unit test for keepalive timeout
Create a unit test to verify client timeout for multiple requests
Change-Id: I974e01cd2cb18f4ea87c3966dbf4b06bff22ed39
2023年05月10日 09:01:41 -07:00
Zuul
5c2adc593e Merge "Sharder: add timing metrics for individual steps and total time spent." 2023年05月10日 07:49:15 +00:00
Zuul
9baf1d623f Merge "more explicit catch" 2023年05月09日 23:54:09 +00:00
Zuul
b669e32981 Merge "backend_ratelimit: Tighten blanket exception handling" 2023年05月09日 21:51:48 +00:00
Clay Gerrard
01a998a451 more explicit catch
Change-Id: I9fdc74d26fd830f463c077c912cdcf00eaab1dfa
2023年05月09日 15:32:02 -05:00
Zuul
89e2050d7f Merge "wsgi: Add keepalive_timeout option" 2023年05月09日 02:56:09 +00:00
Tim Burke
9d98721e7c backend_ratelimit: Tighten blanket exception handling
As it was, it would hide issues in the logging or ratelimiter
implementations.
Change-Id: I9e557442401ef17b753f45b9e1cb181e71784ccf
2023年05月05日 12:27:01 -07:00
Jianjian Huo
744e9a94af Sharder: add timing metrics for individual steps and total time spent.
Change-Id: Ie2a8e4eced6688e5a98aa37c3c7b0c13fd2ddeee
2023年05月03日 22:12:26 -07:00
Clay Gerrard
d393fa482a testing xattr metadata with py3.8
Change-Id: Ib3c9b274bbd2e643f3febbdf54a8a43f4775944b
2023年05月02日 17:12:18 -05:00
Tim Burke
7807540962 Properly read py2 object metadata on py3
Replicated, unencrypted metadata is written down differently on py2
vs py3, and has been since we started supporting py3. Fortunately,
we can inspect the raw xattr bytes to determine whether the pickle
was written using py2 or py3, so we can properly read legacy py2 meta
under py3 rather than hitting a unicode error.
Closes-Bug: #2012531
Change-Id: I5876e3b88f0bb1224299b57541788f590f64ddd4
2023年05月02日 13:20:03 -07:00
Jianjian Huo
9fb860880d memcached: log user provided keys in exception error logging.
User provided keys are need to debug those tracebacks/timeouts when
clients talking to memcached, in order to associate those failures
with specific memcache usages within swift services.
Change-Id: I07491bb4ebc3baa13cf09f64a04a61011d561409
2023年05月01日 11:03:34 -07:00
Zuul
f99a6e5762 Merge "Log (Watchdog's) Timeouts with duration" 2023年05月01日 06:27:27 +00:00
Zuul
b1dc6237c1 Merge "Don't monkey patch logging on import" 2023年04月28日 22:44:29 +00:00
Zuul
e2682f4a83 Merge "Proxy: restructure cached listing shard ranges" 2023年04月28日 22:44:26 +00:00
Zuul
38f1f2d33e Merge "proxy controller: always pass x-backend-* headers to backend" 2023年04月28日 22:44:20 +00:00
Zuul
f9493d51f7 Merge "ECFragGetter: assume policy.fragment_size is non-zero" 2023年04月28日 21:26:33 +00:00
Zuul
6f62758413 Merge "Make all config parsing case-sensitive" 2023年04月28日 18:36:12 +00:00
Zuul
04082fe6fd Merge "ring: Centralize device normalization" 2023年04月28日 17:36:37 +00:00
Chetan Mishra
84b995f275 Don't monkey patch logging on import
Previously swift.common.utils monkey patched logging.thread,
logging.threading, and logging._lock upon import with eventlet
threading modules, but that is no longer reasonable or necessary.
With py3, the existing logging._lock is not patched by eventlet,
unless the logging module is reloaded. The existing lock is not
tracked by the gc so would not be found by eventlet's
green_existing_locks().
Instead we group all monkey patching into utils function and apply
patching consistently across daemons and WSGI servers.
Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com>
Co-Authored-By: Alistair Coles <alistairncoles@gmail.com>
Closes-Bug: #1380815
Change-Id: I6f35ad41414898fb7dc5da422f524eb52ff2940f
2023年04月28日 08:57:35 -07:00
Clay Gerrard
8d23dd8ac6 Log (Watchdog's) Timeouts with duration
... and clean up WatchDog start a little.
If this pattern proves useful we could consider extending it.
Change-Id: Ia85f9321b69bc4114a60c32a7ad082cae7da72b3
2023年04月28日 10:14:01 -05:00
Clay Gerrard
ab03e057d7 Make all config parsing case-sensitive
This effects both daemon config parsing and paste-deploy config parsing
when using conf.d. When the WSGI servers were loaded from a flat file
they have always been case-sensitive. This difference was surprising
(who wants anything case-insensitive?) and potentially dangerous for
values like RECLAIM_AGE.
UpgradeImpact:
Previously the option keys in swift's configuration .ini files were
sometimes parsed in a case-insensitive manner, so you could use
CLIENT_TIMEOUT and the daemons would recognize you meant client_timeout.
Now upper-case or mixed-case option names, such as CLIENT_TIMEOUT or
Client_Timeout, will be ignored.
Change-Id: Idd8e552d9fe98b84d7cee1adfa431ea3ae93345d
2023年04月28日 10:03:59 -05:00
Zuul
b61602b70c Merge "docs: Fix broken paste/pastedeploy links" 2023年04月28日 11:37:10 +00:00
Zuul
80770eb57b Merge "tests: Fix config numbers in test_versioning_with_metadata_replication" 2023年04月28日 11:37:07 +00:00
Zuul
31e51b3f85 Merge "Error logs changed for ChunkWriteTimeout" 2023年04月28日 11:37:04 +00:00
Shreeya Deshpande
9dfbac7c4d Error logs changed for ChunkWriteTimeout
The log message phrase 'ChunkWriteTimeout fetching fragments'
implies that the timeout has occurred
while getting a fragment (from the backend object server)
when in fact the timeout has occurred
waiting to yield the fragment to the app iter.
Hence, changing message to 'ChunkWriteTimeout feeding fragments'
Change-Id: Ic0813e6a9844da1130091d27e3dbe272ea871d11
2023年04月27日 23:21:04 +00:00
Tim Burke
88941ebe46 tests: Fix config numbers in test_versioning_with_metadata_replication
Closes-Bug: #2017021
Change-Id: If422f99a77245b35ab755857f9816c1e401a4e22
2023年04月27日 15:20:07 -07:00
Tim Burke
716ae48eb8 docs: Fix broken paste/pastedeploy links
Closes-Bug: #2016463
Change-Id: Id500a2429b7412823970a06e3e82b1d1646c70b8
2023年04月27日 13:52:55 -07:00
Zuul
3b89fbebd9 Merge "tests for wsgi/daemon config parsing" 2023年04月27日 19:02:31 +00:00
Zuul
b5a2453ed7 Merge "ECFragGetter: simplify iter_bytes_from_response_part" 2023年04月27日 01:13:13 +00:00
Zuul
6d272c4dc0 Merge "CI: Use [tox]requires to pin virtualenv" 2023年04月26日 22:37:23 +00:00
Tim Burke
b8f0a0ed5c ring: Centralize device normalization
This puts replication info in antique rings loaded with metadata_only=True.
Closes-Bug: #1696837
Change-Id: Idf263a7f7a984a1307bd74040ac8f8bb1651bc79
2023年04月26日 15:35:58 -07:00
Tim Burke
0518c60235 CI: Use [tox]requires to pin virtualenv
Using an antiquated distro to keep us on an EOL'ed version of python
that *just so happens* to have had support dropped for it around the
same time virtualenv removed the ability to create py27 environments
doesn't seem like the right way to address the problem.
Make sure we also include the tox<4 pin that we're using project-wide
so we don't get some nonsense about "Multiple top-level packages
discovered in a flat-layout".
Related-Change: https://review.opendev.org/c/openstack/swift/+/881035
Change-Id: I32a161e555179ca34d306ac37e4097611853e36b
2023年04月26日 11:40:03 -07:00
Alistair Coles
50c4ea032d ECFragGetter: assume policy.fragment_size is non-zero
Simplify ECFragGetter by removing code that guards against the policy
fragment_size being None or zero.
Policy fragment_size must be > 0: the fragment_size is based on the
ec_segment_size, which is verified as > 0 when constructing an EC
policy. This is asserted by test_parse_storage_policies in
test.unit.common.test_storage_policy.TestStoragePolicies.
Also, rename client_chunk_size to fragment_size for clarity.
Change-Id: Ie1efaab3bd0510275d534b5c023cb73c98bec90d
2023年04月26日 11:33:41 +01:00
Alistair Coles
0f95870c51 ECFragGetter: simplify iter_bytes_from_response_part
Refactor and add some targeted unit tests. No behavioral change.
Change-Id: I153528b8a1709f3756c261cf3eb2acfd5de10f9c
2023年04月26日 11:32:47 +01:00
Zuul
9f75279739 Merge "Assert ChunkWriteTimeout errors are logged" 2023年04月25日 13:31:33 +00:00
Alistair Coles
61b6ec2633 Assert ChunkWriteTimeout errors are logged
The test claimed to assert that ChunkWriteTimeouts are logged, but
the test would in fact pass if the timeouts were not logged.
Change-Id: Ic9d119858397e8aeccaf7f89487f9e62f16ee453
2023年04月25日 11:36:01 +01:00
Zuul
0a970d0736 Merge "Extract some closures to methods" 2023年04月24日 19:49:03 +00:00
Zuul
aaab0e0ad4 Merge "Use instance attr instead of non-local" 2023年04月24日 17:27:17 +00:00
Clay Gerrard
74fc18d90d Extract some closures to methods
Change-Id: Ia87caebc9a3c70602209daeda97fc588f4bafc76
2023年04月24日 15:26:13 +01:00
Clay Gerrard
0a2bfe981f Use instance attr instead of non-local
Change-Id: I3d5981cfc8799c45817b24fdaecc6cbbc0534ec8
2023年04月24日 15:02:07 +01:00
Zuul
029c921871 Merge "docs: Clean up cross-domain doc formatting; call out CWE-942" 2023年04月21日 17:30:09 +00:00
Zuul
0672b0ed0b Merge "tests: Fix test_cleanup_ondisk_files_commit_window" 2023年04月21日 17:30:06 +00:00
Tim Burke
105727bc89 tests: Fix test_cleanup_ondisk_files_commit_window
`much_older` has to be much older than `older`, or the test gets
flakey. See
- test_cleanup_ondisk_files_reclaim_non_data_files,
- test_cleanup_ondisk_files_reclaim_with_data_files, and
- test_cleanup_ondisk_files_reclaim_with_data_files_legacy_durable
for a more standard definition of "much_older".
Closes-Bug: #2017024
Change-Id: I1eaa501827f4475ddc0c20d82cf0a6d4a5e98f75
2023年04月20日 12:51:06 -07:00