bdeggleston/kickboxer

Think through having a query leader that's not a replica for the instance.

Opened this issue · 0 comments

The query leader would not need to persist the instance locally, only communicate with the replicas. The preaccept, accept, and commit phases could be carried out by the query leader.

This would remove the need to 'forward' queries to replicas, and make it more tolerant of individual replicas being down, since the current method just picks one, which could be down.

Logic would need to be changed where the required number of responses are calculated, where instances are persisted, and the commit message would need to include a flag to return the result of the executed query.