[erlang-questions] Mnesia inconsistency with R11B-1
Dan Gudmundsson
dgud@REDACTED
Fri Sep 29 14:43:29 CEST 2006
Ouch, how did you manage to do that...
Call mnesia_lib:coredump() on both appservers. zip and email me privatly.
Probably it's to late to find something but I will have a look at it.
/Dan
Fredrik Thulin writes:
> Hi
>
> I upgraded from R10B-10 to R11B-1 about a week ago. Today I got a
> problem report that seems to be because I have inconsistencies in my
> Mnesia table 'phone'.
>
> On node #1, a record is present that is not present on node #2 :
>
> (root@REDACTED)49> rpc:call('appserver@REDACTED', phone,
> get_sipuser_locations, ["username"]).
> {ok,[{siplocationdb_e,{sipurl,"sip",
> ...
> 1159532776}]}
>
> (root@REDACTED)50> rpc:call('appserver@REDACTED', phone,
> get_sipuser_locations, ["username"]).
> {ok,[]}
> (root@REDACTED)51>
>
> This table is written to from at least four different nodes, but always
> using transactions and never with dirty writes. What should I do to
> figure out the cause of this? I will have to restart the nodes at the
> latest before Monday morning to get everything working again, but if
> you guys are quick I can do diagnostics on the running system =).
>
> It seems to me that there is no partitioned network (both nodes list the
> same nodes as 'running').
>
> Another indicator of the differences, and also mnesia:info() output from
> the two nodes :
>
> (root@REDACTED)55> length( rpc:call('appserver@REDACTED', db_util,
> tab_to_list, [phone]) ).
> 63
> (root@REDACTED)56> length( rpc:call('appserver@REDACTED', db_util,
> tab_to_list, [phone]) ).
> 58
> (root@REDACTED)57> rpc:call('appserver@REDACTED', mnesia, info, []).
> ---> Processes holding locks <---
> ---> Processes waiting for locks <---
> ---> Participant transactions <---
> ---> Coordinator transactions <---
> ---> Uncertain transactions <---
> ---> Active tables <---
> schema : with 10 records occupying 1569 words of mem
> call : with 0 records occupying 279 words of mem
> ===> System info in version "4.3.2", debug level = none <===
> opt_disc. Directory "/var/yxa/mnesia/appserver" is NOT used.
> use fallback at restart = false
> running db nodes =
> ['root@REDACTED','eventserver@REDACTED','incomingproxy@REDACTED','pstnproxy@REDACTED','appserver@REDACTED','outgoingproxy@REDACTED','outgoingproxy@REDACTED','incomingproxy@REDACTED','eventserver@REDACTED','pstnproxy@REDACTED','appserver@REDACTED']
> stopped db nodes = ['root@REDACTED','pstnproxy@REDACTED']
> master node tables = []
> remote = [cpl_script_graph,
> eventdata,
> forward,
> gruu,
> numbers,
> phone,
> regexproute,
> user]
> ram_copies = [call,schema]
> disc_copies = []
> disc_only_copies = []
> [{'appserver@REDACTED',ram_copies},
> {'appserver@REDACTED',ram_copies}] = [call]
> [{'appserver@REDACTED',ram_copies},
> {'appserver@REDACTED',ram_copies},
> {'eventserver@REDACTED',ram_copies},
> {'eventserver@REDACTED',ram_copies},
> {'incomingproxy@REDACTED',disc_copies},
> {'incomingproxy@REDACTED',disc_copies},
> {'outgoingproxy@REDACTED',ram_copies},
> {'outgoingproxy@REDACTED',ram_copies},
> {'pstnproxy@REDACTED',ram_copies},
> {'pstnproxy@REDACTED',ram_copies},
> {'root@REDACTED',ram_copies}] = [schema]
> [{'eventserver@REDACTED',ram_copies},
> {'eventserver@REDACTED',ram_copies},
> {'incomingproxy@REDACTED',disc_copies},
> {'incomingproxy@REDACTED',disc_copies}] = [eventdata]
> [{'incomingproxy@REDACTED',disc_copies},
> {'incomingproxy@REDACTED',disc_copies}] = [gruu,
> cpl_script_graph,
> regexproute,
> phone,
> forward,
> numbers,
> user]
> 93 transactions committed, 0 aborted, 9 restarted, 0 logged to disc
> 0 held locks, 0 in queue; 0 local transactions, 0 remote
> 0 transactions waits for other nodes: []
> ok
> (root@REDACTED)58> rpc:call('appserver@REDACTED', mnesia, info, []).
> ---> Processes holding locks <---
> ---> Processes waiting for locks <---
> ---> Participant transactions <---
> ---> Coordinator transactions <---
> ---> Uncertain transactions <---
> ---> Active tables <---
> schema : with 10 records occupying 1569 words of mem
> call : with 0 records occupying 279 words of mem
> ===> System info in version "4.3.2", debug level = none <===
> opt_disc. Directory "/var/yxa/mnesia/appserver" is NOT used.
> use fallback at restart = false
> running db nodes =
> ['root@REDACTED','appserver@REDACTED','eventserver@REDACTED','outgoingproxy@REDACTED','pstnproxy@REDACTED','incomingproxy@REDACTED','eventserver@REDACTED','pstnproxy@REDACTED','incomingproxy@REDACTED','outgoingproxy@REDACTED','appserver@REDACTED']
> stopped db nodes = ['root@REDACTED','pstnproxy@REDACTED']
> master node tables = []
> remote = [cpl_script_graph,
> eventdata,
> forward,
> gruu,
> numbers,
> phone,
> regexproute,
> user]
> ram_copies = [call,schema]
> disc_copies = []
> disc_only_copies = []
> [{'appserver@REDACTED',ram_copies},
> {'appserver@REDACTED',ram_copies}] = [call]
> [{'appserver@REDACTED',ram_copies},
> {'appserver@REDACTED',ram_copies},
> {'eventserver@REDACTED',ram_copies},
> {'eventserver@REDACTED',ram_copies},
> {'incomingproxy@REDACTED',disc_copies},
> {'incomingproxy@REDACTED',disc_copies},
> {'outgoingproxy@REDACTED',ram_copies},
> {'outgoingproxy@REDACTED',ram_copies},
> {'pstnproxy@REDACTED',ram_copies},
> {'pstnproxy@REDACTED',ram_copies},
> {'root@REDACTED',ram_copies}] = [schema]
> [{'eventserver@REDACTED',ram_copies},
> {'eventserver@REDACTED',ram_copies},
> {'incomingproxy@REDACTED',disc_copies},
> {'incomingproxy@REDACTED',disc_copies}] = [eventdata]
> [{'incomingproxy@REDACTED',disc_copies},
> {'incomingproxy@REDACTED',disc_copies}] = [gruu,
> cpl_script_graph,
> regexproute,
> phone,
> forward,
> numbers,
> user]
> 759 transactions committed, 0 aborted, 0 restarted, 0 logged to disc
> 0 held locks, 0 in queue; 0 local transactions, 0 remote
> 0 transactions waits for other nodes: []
> ok
> (root@REDACTED)59>
>
> /Fredrik
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
More information about the erlang-questions
mailing list