Hibiscus (closure of all remaining jMyles' activation issues)#2355
Hibiscus (closure of all remaining jMyles' activation issues)#2355KPrasch merged 9 commits intonucypher:mainfrom
Conversation
| first_matching_ursula = matching_ursulas[0] | ||
|
|
||
| with first_matching_ursula.datastore.describe(TreasureMap, policy.treasure_map._hrac.hex()) as saved_map_record: | ||
| assert saved_map_record.treasure_map == bytes(policy.treasure_map) |
…n the Arrangement object.
| self.additional_nodes_to_track = [] | ||
| self.updated = maya.now() | ||
| self._nodes = OrderedDict() | ||
| self._marked = defaultdict(list) # Beginning of bucketing. |
There was a problem hiding this comment.
Yeah, feels about right IMO.
| self._learning_deferred.addCallback(_discover_or_abort) | ||
| self._learning_deferred.addErrback(self.handle_learning_errors) | ||
|
|
||
| # def clear_learning_deferred(result_of_last_learning_cycle): |
There was a problem hiding this comment.
What's the basic motive for removing these two blocks?
There was a problem hiding this comment.
It just never really worked. The RELAX pattern (which in compsci terms is, I believe, a "callback cancellation" pattern) more-or-less renders this obsolete. Though I may take a swing at it when we get around to optimizing high-throughput retrieve.
|
|
||
| try: | ||
| requesting_ursula = Ursula.from_bytes(request.data, registry=this_node.registry) | ||
| requesting_ursula = Ursula.from_bytes(request.data) |
There was a problem hiding this comment.
👍 - This has been disabled for now but - how does a stranger get verified against the registry if not injected here?
There was a problem hiding this comment.
First let me say: this change is utterly extemporaneous; I did it only to get a green check (this test had apparently been failing for a while, but went unnoticed because we weren't running this module).
Second: the simplest vision I can think to express is, I guess:
requesting_ursula = Ursula.from_bytes(request.data)
requesting_ursula.mature()
requesting_ursula.verify_node(registry=this_node.registry)
...though in calmer times, I might also even ask why verification is important here.
| def propose_arrangement(self, network_middleware, ursula, arrangement) -> bool: | ||
| negotiation_response = network_middleware.propose_arrangement(arrangement=arrangement) | ||
| def propose_arrangement(self, network_middleware, arrangement) -> bool: | ||
| negotiation_response = network_middleware.propose_arrangement(arrangement=arrangement) # Wow, we aren't even passing node here. |
There was a problem hiding this comment.
is that approval or disapproval 😅 ?
There was a problem hiding this comment.
hahaha; in these crazy times, they feel exactly the same
|
|
||
|
|
||
| @pytest.mark.skip("See Issue #1075") # TODO: Issue #1075 | ||
| def test_vladimir_illegal_interface_key_does_not_propagate(blockchain_ursulas): |
There was a problem hiding this comment.
Glad to see good ol' Vlad coming back.
BTW, what's missing for closing #1075?
There was a problem hiding this comment.
Oh right - this closes it.
Fixes #1714
Fixes #2186
Fixes #1075
Adds logs to help track down #2345 / #1698