mlswg / mls-implementations

Coordination of implementation and interop specific details

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fix the way gRPC runner handles remove proposals

mulmarta opened this issue · comments

Currently the MLS test client gets state_id of the removed member. This way, it's impossible to remove clients of other implementations because the test client doesn't know the leaf node of that state_id.

Using leaf_index instead of client's name in the script config is also confusing because the script writer doesn't know where actors land in the tree if there are multiple adds per commit.

One solution (apart from disallowing multiple adds in one commit) : when a member joins, it tells the test runner its index and the runner sends the index of the removed client.

I don't think the premise here is right. In RemoveProposalRequest, state_id is the state of the proposal creator, and removed_id is the leaf index of the removed node. At least that's what the code in test_runner.go does. If anything, we should change removed_id to removed_index.

I think it's a stale issue from before we removed by identity. In any case, doesn't make sense now.