Browse Source

Merge pull request #7832 from zhongwencool/fix-hocon-env-crash-json

fix: delete FROM_ENV from raw_config✨
zhongwencool 3 years atrás
parent
commit
1fd0ce8708

+ 1 - 1
apps/emqx/rebar.config

@@ -29,7 +29,7 @@
     {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.1"}}},
     {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.12.4"}}},
     {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}},
-    {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.4"}}},
+    {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.5"}}},
     {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}},
     {recon, {git, "https://github.com/ferd/recon", {tag, "2.5.1"}}},
     {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.0"}}}

+ 2 - 2
apps/emqx/src/emqx_config.erl

@@ -261,10 +261,10 @@ get_default_value([RootName | _] = KeyPath) ->
     end.
 
 -spec get_raw(emqx_map_lib:config_key_path()) -> term().
-get_raw(KeyPath) -> do_get(?RAW_CONF, KeyPath).
+get_raw(KeyPath) -> hocon_tconf:remove_env_meta(do_get(?RAW_CONF, KeyPath)).
 
 -spec get_raw(emqx_map_lib:config_key_path(), term()) -> term().
-get_raw(KeyPath, Default) -> do_get(?RAW_CONF, KeyPath, Default).
+get_raw(KeyPath, Default) -> hocon_tconf:remove_env_meta(do_get(?RAW_CONF, KeyPath, Default)).
 
 -spec put_raw(map()) -> ok.
 put_raw(Config) ->

+ 8 - 5
apps/emqx_dashboard/src/emqx_dashboard_swagger.erl

@@ -820,11 +820,14 @@ serialize_hocon_error_msg({_Schema, Errors}) ->
 serialize_hocon_error_msg(Error) ->
     iolist_to_binary(io_lib:format("~p", [Error])).
 
-hocon_error({validation_error, #{path := Path} = Error}) ->
+hocon_error({Type, #{path := Path} = Error}) ->
     Error1 = maps:without([path, stacktrace], Error),
-    emqx_logger_jsonfmt:best_effort_json(Error1#{<<"path">> => sub_path(Path)}, []);
-hocon_error({translation_error, #{value_path := Path} = Error}) ->
-    Error1 = maps:without([value_path, stacktrace], Error),
-    emqx_logger_jsonfmt:best_effort_json(Error1#{<<"path">> => sub_path(Path)}, []).
+    emqx_logger_jsonfmt:best_effort_json(
+        Error1#{
+            <<"path">> => sub_path(Path),
+            <<"type">> => Type
+        },
+        []
+    ).
 
 sub_path(Path) -> string:trim(Path, leading, "root.").

+ 1 - 1
apps/emqx_prometheus/rebar.config

@@ -4,7 +4,7 @@
     {emqx, {path, "../emqx"}},
     %% FIXME: tag this as v3.1.3
     {prometheus, {git, "https://github.com/deadtrickster/prometheus.erl", {tag, "v4.8.1"}}},
-    {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.4"}}}
+    {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.5"}}}
 ]}.
 
 {edoc_opts, [{preprocess, true}]}.

+ 1 - 1
mix.exs

@@ -68,7 +68,7 @@ defmodule EMQXUmbrella.MixProject do
       # in conflict by emqtt and hocon
       {:getopt, "1.0.2", override: true},
       {:snabbkaffe, github: "kafka4beam/snabbkaffe", tag: "1.0.0", override: true},
-      {:hocon, github: "emqx/hocon", tag: "0.27.4", override: true},
+      {:hocon, github: "emqx/hocon", tag: "0.27.5", override: true},
       {:emqx_http_lib, github: "emqx/emqx_http_lib", tag: "0.5.1", override: true},
       {:esasl, github: "emqx/esasl", tag: "0.2.0"},
       {:jose, github: "potatosalad/erlang-jose", tag: "1.11.2"},

+ 1 - 1
rebar.config

@@ -66,7 +66,7 @@
     , {system_monitor, {git, "https://github.com/ieQu1/system_monitor", {tag, "3.0.3"}}}
     , {getopt, "1.0.2"}
     , {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.0"}}}
-    , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.4"}}}
+    , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.5"}}}
     , {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.1"}}}
     , {esasl, {git, "https://github.com/emqx/esasl", {tag, "0.2.0"}}}
     , {jose, {git, "https://github.com/potatosalad/erlang-jose", {tag, "1.11.2"}}}