You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2022/04/14 17:59:42 UTC

[couchdb] 02/03: send 503 if jvm side is down

This is an automated email from the ASF dual-hosted git repository.

rnewson pushed a commit to branch nouveau
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 85c218e1902f37d1be179835ea03baa1f3538897
Author: Robert Newson <rn...@apache.org>
AuthorDate: Thu Apr 14 18:51:07 2022 +0100

    send 503 if jvm side is down
---
 src/nouveau/src/nouveau_api.erl | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/nouveau/src/nouveau_api.erl b/src/nouveau/src/nouveau_api.erl
index 1ea8eb45f..52de94669 100644
--- a/src/nouveau/src/nouveau_api.erl
+++ b/src/nouveau/src/nouveau_api.erl
@@ -22,7 +22,7 @@ analyze(Text, Analyzer)
         {ok, StatusCode, _, RespBody} ->
             {error, jaxrs_error(StatusCode, RespBody)};
         {error, Reason} ->
-            {error, Reason}
+            send_error(Reason)
     end;
 analyze(_, _) ->
     {error, {bad_request, <<"'text' and 'analyzer' fields must be non-empty strings">>}}.
@@ -37,7 +37,7 @@ index_info(IndexName)
         {ok, StatusCode, _, RespBody} ->
             {error, jaxrs_error(StatusCode, RespBody)};
         {error, Reason} ->
-            {error, Reason}
+            send_error(Reason)
     end.
 
 
@@ -50,7 +50,7 @@ create_index(IndexName, IndexDefinition)
         {ok, StatusCode, _, RespBody} ->
             {error, jaxrs_error(StatusCode, RespBody)};
         {error, Reason} ->
-            {error, Reason}
+            send_error(Reason)
     end.
 
 
@@ -63,7 +63,7 @@ delete_index(IndexName)
         {ok, StatusCode, _, RespBody} ->
             {error, jaxrs_error(StatusCode, RespBody)};
         {error, Reason} ->
-            {error, Reason}
+            send_error(Reason)
     end.
 
 delete_doc(IndexName, DocId, UpdateSeq)
@@ -76,7 +76,7 @@ delete_doc(IndexName, DocId, UpdateSeq)
         {ok, StatusCode, _, RespBody} ->
             {error, jaxrs_error(StatusCode, RespBody)};
         {error, Reason} ->
-            {error, Reason}
+            send_error(Reason)
     end.
 
 update_doc(IndexName, DocId, UpdateSeq, Fields)
@@ -89,7 +89,7 @@ update_doc(IndexName, DocId, UpdateSeq, Fields)
         {ok, StatusCode, _, RespBody} ->
             {error, jaxrs_error(StatusCode, RespBody)};
         {error, Reason} ->
-            {error, Reason}
+            send_error(Reason)
     end.
 
 %% private functions
@@ -120,3 +120,10 @@ jaxrs_error("422", Body) ->
     {Fields} = jiffy:decode(Body),
     Errors = couch_util:get_value(<<"errors">>, Fields),
     {bad_request, lists:join(" and ", Errors)}.
+
+
+send_error({conn_failed, _}) ->
+    {error, {service_unavailable, <<"Search service unavailable.">>}};
+
+send_error(Reason) ->
+    {error, Reason}.