It's possible for dqlite to request a raft_barrier through leader_barrier while a raft_barrier is already in progress.
It happens in one case where a new raft leader tries to commit a barrier entry to determine its commit index and at that moment dqlite tries to handle a query, notices its state machine is not up to date and fires a barrier.
I'm worried this could also lead to an avalanche of barriers on a busy system and raft will be more busy replicating barriers than actual transaction data.
It's possible for dqlite to request a
raft_barrier
throughleader_barrier
while araft_barrier
is already in progress.It happens in one case where a new raft leader tries to commit a barrier entry to determine its commit index and at that moment dqlite tries to handle a query, notices its state machine is not up to date and fires a barrier.
I'm worried this could also lead to an avalanche of barriers on a busy system and raft will be more busy replicating barriers than actual transaction data.
log