diff --git a/apps/emqx_resource/src/emqx_resource_instance.erl b/apps/emqx_resource/src/emqx_resource_instance.erl index a3631d337..ea88b24bd 100644 --- a/apps/emqx_resource/src/emqx_resource_instance.erl +++ b/apps/emqx_resource/src/emqx_resource_instance.erl @@ -182,7 +182,7 @@ wait_for_resource_ready(InstId, 0) -> force_lookup(InstId); wait_for_resource_ready(InstId, Retry) -> case force_lookup(InstId) of - #{resource_data := #{status := connected}} = Data -> Data; + #{status := connected} = Data -> Data; _ -> timer:sleep(100), wait_for_resource_ready(InstId, Retry-1) diff --git a/apps/emqx_resource/test/emqx_resource_SUITE.erl b/apps/emqx_resource/test/emqx_resource_SUITE.erl index 4a40ce55a..4019f983e 100644 --- a/apps/emqx_resource/test/emqx_resource_SUITE.erl +++ b/apps/emqx_resource/test/emqx_resource_SUITE.erl @@ -221,6 +221,8 @@ t_stop_start(_) -> ok = emqx_resource:restart(?ID), + timer:sleep(300), + #{pid := Pid1} = emqx_resource:query(?ID, get_state), ?assert(is_process_alive(Pid1)).