Test Name
test_migrate / test_pipeline_migrate / test_sync_pipeline_migrate / test_sync_migrate
Test Location
python/tests/async_tests/test_async_client.py::TestCommands::test_migrate
python/tests/async_tests/test_batch.py::TestBatch::test_pipeline_migrate
python/tests/sync_tests/test_sync_batch.py::TestSyncBatch::test_sync_pipeline_migrate
python/tests/sync_tests/test_sync_client.py::TestCommands::test_sync_migrate
Failure Permlink
https://github.com/valkey-io/valkey-glide/actions/runs/31292520864/job/93192043406#logs
Frequency
Observed in scheduled CI run on 2026-08-09. Failed in 11 out of ~10000 tests in the Python 3.12 / EngineVersion 7.0 / x86_64-unknown-linux-gnu job. Failure occurs specifically on standalone mode (cluster_mode=False) variants.
Steps to Reproduce
- Run the FMT Python workflow on schedule
- Observe failure in Python Tests - 3.12, EngineVersion - 7.0, Target - x86_64-unknown-linux-gnu
- The test_migrate and test_pipeline_migrate tests timeout during
glide_client.set() calls in standalone mode
System Information
GitHub Actions (ubuntu-24.04, x86_64-unknown-linux-gnu)
Language and Version
Python 3.12
Engine Version
Redis 7.0
Logs
=================================== FAILURES ===================================
________ TestCommands.test_migrate[asyncio-ProtocolVersion.RESP3-False] ________
self = <test_async_client.TestCommands object at 0x7f1dc8d58050>
glide_client = <glide.glide_client.GlideClient object at 0x7f1dc1972570>
@pytest.mark.parametrize("cluster_mode", [True, False])
@pytest.mark.parametrize("protocol", [ProtocolVersion.RESP2, ProtocolVersion.RESP3])
async def test_migrate(self, glide_client: TGlideClient):
key = get_random_string(10)
value = get_random_string(5)
await glide_client.set(key, value)
with pytest.raises(RequestError):
await glide_client.migrate("invalid-host", 6379, key, 0, 5000)
with pytest.raises(RequestError):
await glide_client.migrate(
"invalid-host", 6379, key, 0, 5000, MigrateOptions(copy=True)
)
with pytest.raises(ValueError):
MigrateOptions(username="user").to_args()
# Multi-key: only available on standalone clients
if not isinstance(glide_client, GlideClusterClient):
hash_tag = get_random_string(5)
key2 = f"{hash_tag}a"
key3 = f"{hash_tag}b"
> await glide_client.set(key2, "value2")
tests/async_tests/test_async_client.py:9736:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
glide-async/python/glide/async_commands/core.py:359: in set
await self._execute_command(RequestType.Set, args),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
E glide_shared.exceptions.TimeoutError: timed out
glide-async/python/glide/glide_client.py:890: TimeoutError
=========================== short test summary info ============================
FAILED tests/async_tests/test_async_client.py::TestCommands::test_migrate[asyncio-ProtocolVersion.RESP3-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/async_tests/test_async_client.py::TestCommands::test_migrate[trio-ProtocolVersion.RESP2-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/async_tests/test_async_client.py::TestCommands::test_migrate[trio-ProtocolVersion.RESP3-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/async_tests/test_batch.py::TestBatch::test_pipeline_migrate[asyncio-ProtocolVersion.RESP2-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/async_tests/test_batch.py::TestBatch::test_pipeline_migrate[asyncio-ProtocolVersion.RESP3-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/async_tests/test_batch.py::TestBatch::test_pipeline_migrate[trio-ProtocolVersion.RESP2-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/async_tests/test_batch.py::TestBatch::test_pipeline_migrate[trio-ProtocolVersion.RESP3-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/sync_tests/test_sync_batch.py::TestSyncBatch::test_sync_pipeline_migrate[ProtocolVersion.RESP2-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/sync_tests/test_sync_batch.py::TestSyncBatch::test_sync_pipeline_migrate[ProtocolVersion.RESP3-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/sync_tests/test_sync_client.py::TestCommands::test_sync_migrate[ProtocolVersion.RESP2-False] - glide_shared.exceptions.TimeoutError: timed out
FAILED tests/sync_tests/test_sync_client.py::TestCommands::test_sync_migrate[ProtocolVersion.RESP3-False] - glide_shared.exceptions.TimeoutError: timed out
= 11 failed, 5762 passed, 2381 skipped, 2234 deselected, 43 warnings in 3087.52s (0:51:27) =
Screenshots
No response
Glide Version
main
Expected Behavior
Test should pass reliably. The glide_client.set() call during the multi-key migrate test on standalone clients should not time out.
Actual Behavior
The test times out during a simple SET command in the multi-key section of the test. This happens after earlier migrate("invalid-host", ...) calls which may leave the standalone client in a degraded state. All 11 failures are specifically on standalone mode (cluster_mode=False) and the timeout occurs on the set() call following the failed migrate attempts.
Possible Fixes
The failed migrate() calls to "invalid-host" may be leaving the client connection in a bad state, causing subsequent commands to time out. Consider adding a client reconnection or health check between the error-case tests and the multi-key tests, or increasing the timeout for this specific test.
Test Name
test_migrate / test_pipeline_migrate / test_sync_pipeline_migrate / test_sync_migrate
Test Location
python/tests/async_tests/test_async_client.py::TestCommands::test_migrate
python/tests/async_tests/test_batch.py::TestBatch::test_pipeline_migrate
python/tests/sync_tests/test_sync_batch.py::TestSyncBatch::test_sync_pipeline_migrate
python/tests/sync_tests/test_sync_client.py::TestCommands::test_sync_migrate
Failure Permlink
https://github.com/valkey-io/valkey-glide/actions/runs/31292520864/job/93192043406#logs
Frequency
Observed in scheduled CI run on 2026-08-09. Failed in 11 out of ~10000 tests in the Python 3.12 / EngineVersion 7.0 / x86_64-unknown-linux-gnu job. Failure occurs specifically on standalone mode (cluster_mode=False) variants.
Steps to Reproduce
glide_client.set()calls in standalone modeSystem Information
GitHub Actions (ubuntu-24.04, x86_64-unknown-linux-gnu)
Language and Version
Python 3.12
Engine Version
Redis 7.0
Logs
Screenshots
No response
Glide Version
main
Expected Behavior
Test should pass reliably. The
glide_client.set()call during the multi-key migrate test on standalone clients should not time out.Actual Behavior
The test times out during a simple SET command in the multi-key section of the test. This happens after earlier
migrate("invalid-host", ...)calls which may leave the standalone client in a degraded state. All 11 failures are specifically on standalone mode (cluster_mode=False) and the timeout occurs on theset()call following the failed migrate attempts.Possible Fixes
The failed
migrate()calls to "invalid-host" may be leaving the client connection in a bad state, causing subsequent commands to time out. Consider adding a client reconnection or health check between the error-case tests and the multi-key tests, or increasing the timeout for this specific test.