@@ -1490,17 +1490,25 @@ orphan_tables([Tab | Tabs], Node, Ns, Local, Remote) ->
14901490orphan_tables ([], _ , _ , LocalOrphans , RemoteMasters ) ->
14911491 {LocalOrphans , RemoteMasters }.
14921492
1493- node_has_tabs ([Tab | Tabs ], Node , State ) when Node /= node () ->
1494- State2 =
1495- try update_whereabouts (Tab , Node , State ) of
1496- State1 = # state {} -> State1
1497- catch exit :R -> % % Tab was just deleted?
1498- case ? catch_val ({Tab , cstruct }) of
1499- {'EXIT' , _ } -> State ; % yes
1500- _ -> erlang :error (R )
1501- end
1502- end ,
1503- node_has_tabs (Tabs , Node , State2 );
1493+ node_has_tabs ([Tab | Tabs ], Node , State0 ) when Node /= node () ->
1494+ State = try
1495+ case ? catch_val ({Tab , cstruct }) of
1496+ {'EXIT' , _ } -> State0 ;
1497+ Cs ->
1498+ case mnesia_lib :cs_to_storage_type (Node , Cs ) of
1499+ unknown -> % % handle_early_msgs may come with obsolete
1500+ State0 ; % % information, if irrelevant ignore it.
1501+ _ ->
1502+ # state {} = update_whereabouts (Tab , Node , State0 )
1503+ end
1504+ end
1505+ catch exit :R :ST -> % % Tab was just deleted?
1506+ case ? catch_val ({Tab , cstruct }) of
1507+ {'EXIT' , _ } -> State0 ; % yes
1508+ _ -> erlang :error ({R , ST })
1509+ end
1510+ end ,
1511+ node_has_tabs (Tabs , Node , State );
15041512node_has_tabs ([Tab | Tabs ], Node , State ) ->
15051513 user_sync_tab (Tab ),
15061514 node_has_tabs (Tabs , Node , State );
0 commit comments