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

MIR nodes handling concurrent clients #7

Open
c5mao opened this issue Feb 26, 2021 · 2 comments
Open

MIR nodes handling concurrent clients #7

c5mao opened this issue Feb 26, 2021 · 2 comments

Comments

@c5mao
Copy link

c5mao commented Feb 26, 2021

Hi, mir is a very nice protocol, and I want to use it for my research. When I use mirbft to implement a state machine, I found that each client has to broadcast the request to every mirnode from the design, and every mir node will run mir to make an agreement on the order of the requests. It works perfectly for a small number of clients, such as 4 clients with 4 mir nodes setup. However, when I increase the number of clients but keep the number of mir nodes, I found that some of mir nodes do not have the payload when committing the request. For example, 16 clients with 4 mir nodes setup, each client has a unique client id, broadcast requests to mir nodes concurrently. In some cases, one or more of the mir nodes report "key not found" either when "Apply" the request or "Commit" the request. Can you please give me a hint on this issue? I am using the reqstore and processor in the mirbft library to handle the request.

@jyellick
Copy link
Contributor

The client API is currently in flux, and request forwarding is broken. Ultimately, once everything is working correctly, the nodes which have not acknowledged receipt of the client request to the leader which proposes a request in a batch will have that request forwarded to them by the leader. This was working for a period of time, but with a rather obtuse client interface, and it has been broken during the rework. Hopefully it should be back and working within a week or two.

@c5mao
Copy link
Author

c5mao commented May 18, 2021

Hi, following up on my previous question. I updated my code with the latest mir-bft, April 15 version. But it seems that the issue I mentioned before is still there. Is there any update or plan for that? I think it is still related to the request forwarding.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants