Fix bug with host failover functionality
DMaaP client does not failover to next configured host when the current
host returns an error status during event consumption.
Change-Id: I117ab993c3badea819876943e446d9ab45fd2db8
Issue-ID: DMAAP-541
Signed-off-by: Lee, Tian (tl5884) <TianL@amdocs.com>
diff --git a/src/main/java/com/att/nsa/mr/client/impl/MRConsumerImpl.java b/src/main/java/com/att/nsa/mr/client/impl/MRConsumerImpl.java
index 4f5907f..72d97c9 100644
--- a/src/main/java/com/att/nsa/mr/client/impl/MRConsumerImpl.java
+++ b/src/main/java/com/att/nsa/mr/client/impl/MRConsumerImpl.java
@@ -41,6 +41,7 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
+import java.util.concurrent.TimeUnit;
import org.apache.http.HttpException;
import org.apache.http.HttpStatus;
import org.json.JSONArray;
@@ -352,6 +353,13 @@
return mrConsumerResponse;
}
+ @Override
+ protected void reportProblemWithResponse() {
+ log.warn("There was a problem with the server response. Blacklisting for 3 minutes.");
+ super.reportProblemWithResponse();
+ fHostSelector.reportReachabilityProblem(3, TimeUnit.MINUTES);
+ }
+
private void createMRConsumerResponse(String reply, MRConsumerResponse mrConsumerResponse) {
if (reply.startsWith("{")) {
JSONObject jObject = new JSONObject(reply);