You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the PEM was removed from the anchor peers, the Connect()
method of the discovery layer wasn't updated accordingly.
As a result, all anchor peers were mapped to the same (empty string) key
in the discovery layer
This commit:
1) Changes the logic and semantics of the Connect():
It now creates a membership request that doesn't
(or does, up to the caller) have the internal endpoint inside of it,
according to the param passed.
This is because we don't have knowledge of whether the
remote anchor peer is in our organization or not.
2) Changes the test case of the gossip:ConnectToAnchorPeers
to simulate a situation that would've caught the bug
had it been tested in the first place:
Starting 10 peers, waiting a bit and then starting a *random*
anchor peer out of the 3 anchor peers given to the 10 peers.
With the bug- all peers would've mapped all anchor peers to the same
key, thus unable to connect with probability of 2/3.
3) Changes the test of TestConnect in the discovery package
to test that the when the Connect() is invoked with false,
meaning- not to send the internal endpoint, the first membershipRequest
that is sent indeed doesn't contain the internal endpoint.
and also adds a test for each of the options (true, false) of
the method createMembershipRequest(includeInternalEndpoint)
Signed-off-by: Yacov Manevich <[email protected]>
Change-Id: Ibd167188dac214951adedfc2ef050d635c6db79f
0 commit comments