Closed ghost closed 6 years ago
Good observation. I don't get this sentence:
The implementation should ensure that when blocking operations occur, even if the connection can not yet be established.
It seems that some part of the sentence is missing. Can you please explain?
Updated the original issue.
What I meant was that when a connection needs to be established, the blocking operators should also block if the connection not set up. That is all.
This has been temporarily fixed in commit 6e4bea2979e88bb19840a6bf365ea4611a497cb1 in the aggregation-policy
branch.
Due to current implementation, failing to immediately to establish a connection to a remote space,
Put
,Get
andQuery
will act as non-blocking operators.Put
,Get
andQuery
should fail only if a communication error occurs during the operation, not when a connection needs to be established.This causes unintended behaviour by continuing program execution at full speed.
This issue related to #1 and has similar effects as #12 when not using
go
.Minimal example:
Executing the following on peer 1:
And the following on peer 2: