Import the following galera specific error code to handle connection
retries, from the latest list of codes used by retry filter in oslo.db.
- 1024: WSREP has not yet prepared node for application use [1]
- 1927: Connection was killed [2]
[1] 45079050f1d54c3be15ce128487f79c9490be77c
[2] 34f9a3ac7a56883f8a2cd2a9a93bc42e5194bc1e
Change-Id: Ic5851122df20d91081f13c10f68ae7f5e00e6b26
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
Enable a few optional checks from hacking to enforce this.
Change-Id: I685df20195f7f3ae26fbd6b1dd9906761d68b07c
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
... instead of implementing the same logic twice.
Change-Id: I564b1352d6b1ab3bc5f450503c8964a03bf7fc4c
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
The warn method of logger instances has been deprecated. Use warning
instead.
Change-Id: I92eadc3ca9103d33e8b3fee619658e6419addc25
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
... to avoid leaving some test cases silently skipped.
Change-Id: I8be37a3cc0876c6befceca9f65581d680cdebdb4
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
The zake library was archived a few years back and is no longer
installable due to its usage of pkg_resources .
Use real zookeeper instance for these tests.
Change-Id: If806bef4c7aea4704dab8b98833dc8b44e30ef1d
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
When iterating over a "diamond" graph, some atoms may be processed
multiple times. Depending on the size of the graph, it has a huge impact
on the complexity of the algorithm.
The patch ensures that each node is processed only once.
Closes-Bug: #2139228
Closes-Bug: #2086453
Change-Id: Iced8a1fd02ef5766f4017bb1b6c6d48b4c061b5c
Signed-off-by: Gregory Thiemonge <gthiemon@redhat.com>
... and use the built-in ones instead.
Also replace assertDictEqual because assertEqual should select
an appropriate method automatically[1].
[1] https://docs.python.org/3.13/library/unittest.html
The list of type-specific methods automatically used by assertEqual()
are summarized in the following table. Note that it’s usually not
necessary to invoke these methods directly.
Change-Id: I4b7d3563e5a025cd3efa602a28c12865dcf3474d
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
... according to the versions currently supported.
Change-Id: Ibc60bf2bb13a57625d6afd045be88d988f4b24a9
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
... the first patch [1] did not take into
account the multiple levels of data that
needs to be filtered.
This adds recursive support for masking
keys and adds unit testing for that
specific code part.
[1] https://review.opendev.org/c/openstack/taskflow/+/932843
Signed-off-by: Tobias Urdin <tobias.urdin@binero.com>
Change-Id: I62c77b7473448d586a3cf15c0bfdf8d68170c0d8
This prevents type checkers from failing when using the base Conductor class as a type.
Closes-Bug: #2117198
Change-Id: I7633b100cc07f79637f1d9d553f3fcf323c57b4c
Signed-off-by: Brett Delle Grazie <brett.dellegrazie@gmail.com>
Fix the following error caused by the regression introduced by
72df15e629 .
TypeError: CreateIndexOp.__init__() got multiple values for argument
'table_name'
Closes-Bug: #2111806
Change-Id: I3e941ffbb0193056e8e271bf96f6a841a2ba95c0
This adds the two parameter mask_inputs_keys
and mask_outputs_keys to the failure logging
formatter and the dynamic listener so that we
can mask fields in provides and requires data
if it's a dict.
Change-Id: Ib05255e01f806c5a134538cc8ddd168e45503a7f
Update all .py source files by
$ pyupgrade --py3-only $(git ls-files | grep ".py$")
to modernize the code according to Python 3 syntaxes.
pep8 errors are fixed by
$ autopep8 --select=E127,E128,E501 --max-line-length 79 -r \
--in-place taskflow
Also add the pyupgrade hook to pre-commit to avoid merging additional
Python 2 syntaxes.
Change-Id: Ifd0a0ade9789497482c7937bffd82c48acfb3d78
The "Connection" class used when ssl is disabled does not accept any
ssl_* arguments, so passing these options into connection_kwargs
causes TypeError.
Because ssl_* options are unused unless ssl option is set to true, we
can filter out these options based on the core ssl option.
Closes-Bug: #2102707
Change-Id: I2e329a545c77a1ac0dec3813e2f29aee67191d48
The process executor was deprecated during 2024.2 cycle[1] because it
depends on asyncore which was removed in Python 3.12 . Remove it
because the deprecation warning has been kept for enough cycles.
[1] 78d39c49aa
Change-Id: I239f3ce408492a310ec56886102f4a7c512c44b1
Introduces an alembic migration to set all indexes to unique so
upgrades to MySQL 8.4 and onwards do not complain about nonstandard
foreign keys.
Closes-Bug: 2100747
Change-Id: Ie0777edf076cbb4f0fdbdf7b273564b73d935434
Signed-off-by: Jose Castro Leon <jose.castro.leon@cern.ch>
pbr is in requirements now so should always exist. pkg_resourcs was
removed in Python 3.12 [1] and can no longer be used.
[1] https://docs.python.org/3/whatsnew/3.12.html#ensurepip
Change-Id: I1f1d5c75f10b6f232dd2bf23fc963693f8388f98
Address the two minor improvements found during the review.
- Rename 'join' method to more explicit name
- Allow float timeout value
Change-Id: I08b1b1584414a7675257f0aac90017e91c7cd716
The asyncore module has been deprecated in Python 3.6 and removed in
Python 3.12. In the future, we should either port process_executor to
asyncio or deprecate it, but for now we just disable it starting in
Python 3.12.
Closes-Bug: #2026183
Change-Id: I6c69593c5ce5a62721294564917d7a75531a2dac