You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by va...@apache.org on 2019/12/20 18:34:22 UTC

[couchdb] 01/01: Switch replicator "info" error message to be an object

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

vatamane pushed a commit to branch replicator-info-error-as-object
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 9296d6f3434fe7b4b214e7ac30f537be36ff9911
Author: Nick Vatamaniuc <va...@apache.org>
AuthorDate: Fri Dec 20 13:33:16 2019 -0500

    Switch replicator "info" error message to be an object
    
    Instead of a string, null or object, it should now be only a null or an object.
---
 src/couch_replicator/src/couch_replicator_scheduler.erl | 6 ++++--
 src/couch_replicator/src/couch_replicator_utils.erl     | 5 +++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/couch_replicator/src/couch_replicator_scheduler.erl b/src/couch_replicator/src/couch_replicator_scheduler.erl
index d534973..dde2141 100644
--- a/src/couch_replicator/src/couch_replicator_scheduler.erl
+++ b/src/couch_replicator/src/couch_replicator_scheduler.erl
@@ -1472,7 +1472,8 @@ t_job_summary_crashing_once() ->
         setup_jobs([Job]),
         Summary = job_summary(job1, ?DEFAULT_HEALTH_THRESHOLD_SEC),
         ?assertEqual(crashing, proplists:get_value(state, Summary)),
-        ?assertEqual(<<"some_reason">>, proplists:get_value(info, Summary)),
+        Info = proplists:get_value(info, Summary),
+        ?assertEqual({[{<<"error">>, <<"some_reason">>}]}, Info),
         ?assertEqual(0, proplists:get_value(error_count, Summary))
     end).
 
@@ -1487,7 +1488,8 @@ t_job_summary_crashing_many_times() ->
         setup_jobs([Job]),
         Summary = job_summary(job1, ?DEFAULT_HEALTH_THRESHOLD_SEC),
         ?assertEqual(crashing, proplists:get_value(state, Summary)),
-        ?assertEqual(<<"some_reason">>, proplists:get_value(info, Summary)),
+        Info = proplists:get_value(info, Summary),
+        ?assertEqual({[{<<"error">>, <<"some_reason">>}]}, Info),
         ?assertEqual(2, proplists:get_value(error_count, Summary))
     end).
 
diff --git a/src/couch_replicator/src/couch_replicator_utils.erl b/src/couch_replicator/src/couch_replicator_utils.erl
index 856c1b5..5f608de 100644
--- a/src/couch_replicator/src/couch_replicator_utils.erl
+++ b/src/couch_replicator/src/couch_replicator_utils.erl
@@ -181,13 +181,14 @@ normalize_rep(#rep{} = Rep)->
 ejson_state_info(nil) ->
     null;
 ejson_state_info(Info) when is_binary(Info) ->
-    Info;
+    {[{<<"error">>, Info}]};
 ejson_state_info([]) ->
     null;  % Status not set yet => null for compatibility reasons
 ejson_state_info([{_, _} | _] = Info) ->
     {Info};
 ejson_state_info(Info) ->
-    couch_replicator_utils:rep_error_to_binary(Info).
+    ErrMsg = couch_replicator_utils:rep_error_to_binary(Info),
+    {[{<<"error">>, ErrMsg}]}.
 
 
 -ifdef(TEST).