@@ -1490,17 +1490,25 @@ orphan_tables([Tab | Tabs], Node, Ns, Local, Remote) ->
1490
1490
orphan_tables ([], _ , _ , LocalOrphans , RemoteMasters ) ->
1491
1491
{LocalOrphans , RemoteMasters }.
1492
1492
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 );
1504
1512
node_has_tabs ([Tab | Tabs ], Node , State ) ->
1505
1513
user_sync_tab (Tab ),
1506
1514
node_has_tabs (Tabs , Node , State );
0 commit comments