query:1.0.2 - Fixed responses for availability edge-cases
[demos/kafka/wordcount] / src / main / java / de / juplo / kafka / wordcount / query / QueryController.java
index 0c7dc31..a9b5b80 100644 (file)
@@ -1,6 +1,7 @@
 package de.juplo.kafka.wordcount.query;
 
 import lombok.RequiredArgsConstructor;
+import org.apache.kafka.streams.errors.InvalidStateStoreException;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -30,6 +31,13 @@ public class QueryController
               .build();
     }
 
-    return ResponseEntity.of(processor.getUserRanking(username));
+    try
+    {
+      return ResponseEntity.of(processor.getUserRanking(username));
+    }
+    catch (InvalidStateStoreException e)
+    {
+      return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).build();
+    }
   }
 }