Skip to content
This repository has been archived by the owner on Oct 31, 2023. It is now read-only.

Start tcpserver inactive, so no pause is needed after init #4700

Merged
merged 1 commit into from
Sep 9, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions golem/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -402,9 +402,6 @@ def get_performance_values():
self.p2pservice.add_metadata_provider(
'performance', get_performance_values)

# Pause p2p and task sessions to prevent receiving messages before
# the node is ready
self.pause()
self._restore_locks()

monitoring_publisher_service = MonitoringPublisherService(
Expand Down
3 changes: 2 additions & 1 deletion golem/network/transport/tcpserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ def __init__(self,
"""
self.config_desc = config_desc
self.network = network
self.active = True
# Start inactive to prevent receiving messages before the node is ready
self.active = False
self.cur_port = 0 # current listening port
self.use_ipv6 = config_desc.use_ipv6 if config_desc else False
self.ipv4_networks = ipv4_networks()
Expand Down
3 changes: 3 additions & 0 deletions tests/golem/network/p2p/test_p2pservice.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,7 @@ def test_sync_free_peers(self):
p2p_pub_port=10000
)

self.service.resume()
self.service.config_desc.opt_peer_num = 10
self.service.free_peers.append(node.key)
self.service.incoming_peers[node.key] = {
Expand Down Expand Up @@ -467,6 +468,7 @@ def test_round_robin_seeds(self):
@mock.patch('golem.network.p2p.p2pservice.'
'P2PService._P2PService__connection_established')
def test_connect_success(self, connection_established, createSocket):
self.service.resume()
createSocket.return_value = socket = mock.Mock()
socket.fileno = mock.Mock(return_value=0)
socket.getsockopt = mock.Mock(return_value=None)
Expand All @@ -484,6 +486,7 @@ def test_connect_success(self, connection_established, createSocket):
@mock.patch('golem.network.p2p.p2pservice.'
'P2PService._P2PService__connection_failure')
def test_connect_failure(self, connection_failure, createSocket):
self.service.resume()
addr = SocketAddress('127.0.0.1', 40102)
self.service.connect(addr)
assert connection_failure.called
Expand Down
2 changes: 2 additions & 0 deletions tests/golem/network/transport/test_tcpserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ def test_pending_conn(self):
def final_failure(*args, **kwargs):
final_failure_called[0] = True

server.resume()
server.conn_established_for_type[req_type] = lambda x: x
server.conn_failure_for_type[req_type] = server.final_conn_failure
server.conn_final_failure_for_type[req_type] = final_failure
Expand Down Expand Up @@ -201,6 +202,7 @@ def test_sync_pending(self):
def final_failure(*args, **kwargs):
final_failure_called[0] = True

server.resume()
server.conn_established_for_type[req_type] = lambda x: x
server.conn_failure_for_type[req_type] = server.final_conn_failure
server.conn_final_failure_for_type[req_type] = final_failure
Expand Down
11 changes: 6 additions & 5 deletions tests/golem/task/test_taskserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -796,6 +796,7 @@ def test_acl_setup_default_inexistent(self, *_):

def test_new_connection(self, *_):
ts = self.ts
ts.resume()
tss = tasksession.TaskSession(Mock())
ts.new_connection(tss)
assert len(ts.task_sessions_incoming) == 1
Expand Down Expand Up @@ -853,6 +854,11 @@ def test_download_options_errors(self, *_):
def test_pause_and_resume(self, *_):
from apps.core.task.coretask import CoreTask

assert not self.ts.active
assert not CoreTask.VERIFICATION_QUEUE._paused

self.ts.resume()

assert self.ts.active
assert not CoreTask.VERIFICATION_QUEUE._paused

Expand All @@ -861,11 +867,6 @@ def test_pause_and_resume(self, *_):
assert not self.ts.active
assert CoreTask.VERIFICATION_QUEUE._paused

self.ts.resume()

assert self.ts.active
assert not CoreTask.VERIFICATION_QUEUE._paused

def test_add_task_header_invalid_sig(self):
self.ts._verify_header_sig = lambda _: False
result = self.ts.add_task_header(Mock())
Expand Down