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
Since the clients assume the Directories are called Abc.Zebus.DirectoryService.[0-9], the shutdown sequence won't run properly if a Directory is called differently. This will cause the bus to wait for WaitForEndOfStreamAckTimeout because the client will be expecting a shutdown ACK from a Directory with another name. The naming assumption is made here and the ACK handling is done here.
The text was updated successfully, but these errors were encountered:
IMO the shutdown sequence is really a minor issue. It can easily be fixed by adding the peer ID in the end-of-stream messages. The main problem is that every peer will keep two ZMQ sockets opened for directories, one that will be created using the naming convention, and one that will be created when replying to the ping command. It is worse if the directory endpoints are switched: the ZMQ sockets will continuously be closed and re-created (when replying to a ping command after sending a directory command).
There are many different options to improve this behavior.
My suggestion would be to index sockets by endpoints in ZmqTransport and to support sending transport messages to an empty peer ID. The directory messages could be sent without specifying a peer ID, thus removing the need for directory name conventions.
Another option is to validate the directory endpoints configuration. Every directory service could publish errors when the configured endpoint does not match his endpoint and peer ID.
Since the clients assume the Directories are called
Abc.Zebus.DirectoryService.[0-9]
, the shutdown sequence won't run properly if a Directory is called differently. This will cause the bus to wait forWaitForEndOfStreamAckTimeout
because the client will be expecting a shutdown ACK from a Directory with another name. The naming assumption is made here and the ACK handling is done here.The text was updated successfully, but these errors were encountered: