diff --git a/apps/emqx_retainer/src/emqx_retainer_mnesia.erl b/apps/emqx_retainer/src/emqx_retainer_mnesia.erl index 2137d49f2..0152c240e 100644 --- a/apps/emqx_retainer/src/emqx_retainer_mnesia.erl +++ b/apps/emqx_retainer/src/emqx_retainer_mnesia.erl @@ -127,6 +127,7 @@ create_table(Table, RecordName, Attributes, Type, StorageType) -> {storage_properties, StoreProps} ]), ok = mria_rlog:wait_for_shards([?RETAINER_SHARD], infinity), + ok = mria:wait_for_tables([Table]), case mnesia:table_info(Table, storage_type) of Copies -> ok; diff --git a/changes/ce/fix-11158.en.md b/changes/ce/fix-11158.en.md new file mode 100644 index 000000000..54030b7f9 --- /dev/null +++ b/changes/ce/fix-11158.en.md @@ -0,0 +1 @@ +Wait for Mria table when the mnesia backend of retainer starts to avoid a possible error of the retainer when joining a cluster.