diff --git a/apps/emqx_schema_registry/include/emqx_schema_registry.hrl b/apps/emqx_schema_registry/include/emqx_schema_registry.hrl index 853eddcc0..4e5fb6ce5 100644 --- a/apps/emqx_schema_registry/include/emqx_schema_registry.hrl +++ b/apps/emqx_schema_registry/include/emqx_schema_registry.hrl @@ -32,7 +32,9 @@ -record(serde, { name :: schema_name(), type :: serde_type(), - eval_context :: term() + eval_context :: term(), + %% for future use + extra = [] }). -type serde() :: #serde{}. diff --git a/apps/emqx_schema_registry/src/emqx_schema_registry.erl b/apps/emqx_schema_registry/src/emqx_schema_registry.erl index fdc94f64c..2e6edab74 100644 --- a/apps/emqx_schema_registry/src/emqx_schema_registry.erl +++ b/apps/emqx_schema_registry/src/emqx_schema_registry.erl @@ -312,8 +312,9 @@ ensure_serde_absent(Name) when not is_binary(Name) -> ensure_serde_absent(Name) -> case get_serde(Name) of {ok, Serde} -> + ok = emqx_schema_registry_serde:destroy(Serde), _ = ets:delete(?SERDE_TAB, Name), - ok = emqx_schema_registry_serde:destroy(Serde); + ok; {error, not_found} -> ok end.