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).