From 64cf9427f4dab248ff1f17108ece12934a4f5420 Mon Sep 17 00:00:00 2001
From: Michael Eischer <eischer@cs.fau.de>
Date: Fri, 3 Jul 2020 11:15:38 +0200
Subject: [PATCH] Broadcast weak read-only requests to all servers

A replica directly replies with its current state to a weak
read requests. Therefore the client has to send the request
itself to all replicas.
---
 src/refit/client/REFITLibByz.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/refit/client/REFITLibByz.java b/src/refit/client/REFITLibByz.java
index 349486e..ab311ac 100644
--- a/src/refit/client/REFITLibByz.java
+++ b/src/refit/client/REFITLibByz.java
@@ -397,7 +397,7 @@ public class REFITLibByz extends REFITClientLibrary {
 			}
 			readWriteConflict = false;
 
-			if (REFITConfig.USE_PBFT_READ_OPTIMIZATION && request.mode.equals(RequestMode.READ)) {
+			if (request.mode.isReadOnly() && (REFITConfig.USE_PBFT_READ_OPTIMIZATION || !request.mode.isTotalOrder())) {
 				boolean[] executionReplicas = REFITReplicaGroups.getExecutionReplicas(0);
 				if (!REFITConfig.SIGNED_REQUESTS) {
 					// Append MAC, special case for executors
-- 
GitLab