Merge pull request #13291 from thalesmg/fix-ds-mgmt-node-down-r57-20240618
fix(dsreplmeta): check site status when fetching shard info
This commit is contained in:
commit
e69ba33420
|
@ -273,7 +273,7 @@ shards(DB) ->
|
||||||
[Shard || #?SHARD_TAB{shard = {_, Shard}} <- Recs].
|
[Shard || #?SHARD_TAB{shard = {_, Shard}} <- Recs].
|
||||||
|
|
||||||
-spec shard_info(emqx_ds:db(), emqx_ds_replication_layer:shard_id()) ->
|
-spec shard_info(emqx_ds:db(), emqx_ds_replication_layer:shard_id()) ->
|
||||||
#{replica_set := #{site() => #{status => up | joining}}}
|
#{replica_set := #{site() => #{status => up | down}}}
|
||||||
| undefined.
|
| undefined.
|
||||||
shard_info(DB, Shard) ->
|
shard_info(DB, Shard) ->
|
||||||
case mnesia:dirty_read(?SHARD_TAB, {DB, Shard}) of
|
case mnesia:dirty_read(?SHARD_TAB, {DB, Shard}) of
|
||||||
|
@ -282,8 +282,13 @@ shard_info(DB, Shard) ->
|
||||||
[#?SHARD_TAB{replica_set = Replicas}] ->
|
[#?SHARD_TAB{replica_set = Replicas}] ->
|
||||||
ReplicaSet = maps:from_list([
|
ReplicaSet = maps:from_list([
|
||||||
begin
|
begin
|
||||||
%% TODO:
|
Status =
|
||||||
ReplInfo = #{status => up},
|
case mria:cluster_status(?MODULE:node(I)) of
|
||||||
|
running -> up;
|
||||||
|
stopped -> down;
|
||||||
|
false -> down
|
||||||
|
end,
|
||||||
|
ReplInfo = #{status => Status},
|
||||||
{I, ReplInfo}
|
{I, ReplInfo}
|
||||||
end
|
end
|
||||||
|| I <- Replicas
|
|| I <- Replicas
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Fixed an issue where durable storage sites that were down being reported as up.
|
Loading…
Reference in New Issue