From 8dc0f513ba10db668432536747a0665444b8358b Mon Sep 17 00:00:00 2001 From: justheuristic Date: Thu, 1 Dec 2022 11:21:10 +0300 Subject: [PATCH] Hotfix span selection (#110) Fix an issue in span selection that was introduced in #106 --- src/petals/client/routing/sequence_info.py | 2 +- tests/test_sequence_manager.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/petals/client/routing/sequence_info.py b/src/petals/client/routing/sequence_info.py index a756003..36eaefc 100644 --- a/src/petals/client/routing/sequence_info.py +++ b/src/petals/client/routing/sequence_info.py @@ -86,7 +86,7 @@ class RemoteSequenceInfo: if ( info is None or peer_id not in info.servers - or info.servers[peer_id] != ServerState.ONLINE + or info.servers[peer_id].state != ServerState.ONLINE or block_index == len(block_infos) - 1 ): closed_spans.append(active_spans.pop(peer_id)) diff --git a/tests/test_sequence_manager.py b/tests/test_sequence_manager.py index e9c7239..571c35f 100644 --- a/tests/test_sequence_manager.py +++ b/tests/test_sequence_manager.py @@ -29,6 +29,9 @@ def test_sequence_manager_shutdown(): sequence_manager=TestSequenceManager(dht, block_uids, sequential.p2p, _was_shut_down=shutdown_evt, start=True), ) + sequence = sequential.sequence_manager.make_sequence() + assert all(sequence[i].peer_id != sequence[i + 1].peer_id for i in range(len(sequence) - 1)) + assert sequential.sequence_manager.is_alive() assert sequential.sequence_manager._thread.ready.is_set() assert not shutdown_evt.is_set()