What consistency level do you implement? For linearizable read and writes based on a quorum logic, reads must do write repair and writes must do pre-read. Your architecture docs are a bit sparse on this topic. Also, for distributed locking you need atomic-compare-and-swap which can't be implemented by a quorum based architecture as this requires consensus. As the article mentions Junodb is used for distributed locking, I wonder if the architecture description of Juno is missing important pieces.
What consistency level do you implement? For linearizable read and writes based on a quorum logic, reads must do write repair and writes must do pre-read. Your architecture docs are a bit sparse on this topic. Also, for distributed locking you need atomic-compare-and-swap which can't be implemented by a quorum based architecture as this requires consensus. As the article mentions Junodb is used for distributed locking, I wonder if the architecture description of Juno is missing important pieces.