Преглед изворни кода

Merge pull request #13730 from lafirest/fix/lgp

fix(schema_registry): added OTP version into the cache key for a mixed cluster
JianBo He пре 1 година
родитељ
комит
7dac02fd12

+ 1 - 1
apps/emqx_schema_registry/src/emqx_schema_registry.app.src

@@ -1,6 +1,6 @@
 {application, emqx_schema_registry, [
     {description, "EMQX Schema Registry"},
-    {vsn, "0.3.3"},
+    {vsn, "0.3.4"},
     {registered, [emqx_schema_registry_sup]},
     {mod, {emqx_schema_registry_app, []}},
     {included_applications, [

+ 4 - 2
apps/emqx_schema_registry/src/emqx_schema_registry_serde.erl

@@ -50,7 +50,9 @@
 
 -type fingerprint() :: binary().
 
--type protobuf_cache_key() :: {schema_name(), fingerprint()}.
+-type otp_release() :: string().
+
+-type protobuf_cache_key() :: {schema_name(), otp_release(), fingerprint()}.
 
 -export_type([serde_type/0]).
 
@@ -322,7 +324,7 @@ protobuf_serde_mod_name(Name) ->
 %% binaries...
 %% -spec protobuf_cache_key(schema_name(), schema_source()) -> {schema_name(), fingerprint()}.
 protobuf_cache_key(Name, Source) ->
-    {Name, erlang:md5(Source)}.
+    {Name, erlang:system_info(otp_release), erlang:md5(Source)}.
 
 -spec lazy_generate_protobuf_code(schema_name(), module(), schema_source()) ->
     {ok, module(), binary()} | {error, #{error := term(), warnings := [term()]}}.