@@ -223,15 +223,15 @@ note_decision(Tid, Outcome) ->
223223 ? ets_insert (Tab , # transient_decision {tid = Tid , outcome = Outcome }).
224224
225225note_up (Node , _Date , _Time ) ->
226- ? ets_delete (mnesia_decision , Node ).
226+ ? ets_delete (mnesia_decision , { node , Node } ).
227227
228228note_down (Node , Date , Time ) ->
229- ? ets_insert (mnesia_decision , {mnesia_down , Node , Date , Time }).
229+ ? ets_insert (mnesia_decision , {mnesia_down , { node , Node } , Date , Time }).
230230
231231note_master_nodes (Tab , []) ->
232- ? ets_delete (mnesia_decision , Tab );
232+ ? ets_delete (mnesia_decision , { tab , Tab } );
233233note_master_nodes (Tab , Nodes ) when is_list (Nodes ) ->
234- Master = {master_nodes , Tab , Nodes },
234+ Master = {master_nodes , { tab , Tab } , Nodes },
235235 ? ets_insert (mnesia_decision , Master ).
236236
237237note_outcome (D ) when D # decision .disc_nodes == [] ->
@@ -295,12 +295,12 @@ get_mnesia_downs() ->
295295 Tab = mnesia_decision ,
296296 Pat = {mnesia_down , '_' , '_' , '_' },
297297 Downs = ? ets_match_object (Tab , Pat ),
298- [Node || {mnesia_down , Node , _Date , _Time } <- Downs ].
298+ [Node || {mnesia_down , { node , Node } , _Date , _Time } <- Downs ].
299299
300300% % Check if we have got a mnesia_down from Node
301301has_mnesia_down (Node ) ->
302- case ? ets_lookup (mnesia_decision , Node ) of
303- [{mnesia_down , Node , _Date , _Time }] ->
302+ case ? ets_lookup (mnesia_decision , { node , Node } ) of
303+ [{mnesia_down , { node , Node } , _Date , _Time }] ->
304304 true ;
305305 [] ->
306306 false
@@ -380,10 +380,10 @@ get_master_node_info() ->
380380
381381get_master_node_tables () ->
382382 Masters = get_master_node_info (),
383- [Tab || {master_nodes , Tab , _Nodes } <- Masters ].
383+ [Tab || {master_nodes , { tab , Tab } , _Nodes } <- Masters ].
384384
385385get_master_nodes (Tab ) ->
386- try ? ets_lookup_element (mnesia_decision , Tab , 3 )
386+ try ? ets_lookup_element (mnesia_decision , { tab , Tab } , 3 )
387387 catch error :_ -> []
388388 end .
389389
@@ -532,7 +532,15 @@ confirm_decision_log_dump() ->
532532dump_decision_tab () ->
533533 Tab = mnesia_decision ,
534534 All = mnesia_lib :db_match_object (ram_copies ,Tab , '_' ),
535- mnesia_log :save_decision_tab ({decision_list , All }).
535+ Converted = lists :map (fun convert_decision_to_disk_format /1 , All ),
536+ mnesia_log :save_decision_tab ({decision_list , Converted }).
537+
538+ convert_decision_to_disk_format ({mnesia_down , {node , Node }, Date , Time }) ->
539+ {mnesia_down , Node , Date , Time };
540+ convert_decision_to_disk_format ({master_nodes , {tab , Tab }, Nodes }) ->
541+ {master_nodes , Tab , Nodes };
542+ convert_decision_to_disk_format (Decision ) ->
543+ Decision .
536544
537545note_log_decisions ([What | Tail ], InitBy ) ->
538546 note_log_decision (What , InitBy ),
0 commit comments