How long does mnesia take to warm up?
Peter Lund
erlang@REDACTED
Thu Sep 8 16:41:23 CEST 2005
I guess everyone else are using mnesia:wait_for_tables. Maybe you should
too :)
/Peter
Joe Armstrong (AL/EAB) wrote:
> When I evaluate mnesia:start() it seems to take a little time before mnesia is
>ready to do what I tell it - is this a bug? - do I really have to busy-wait
>before it is ready?
>
> I have made myself a little mnesia table called mom_types
>
> In this run I have to make 34 attempts to write the table, attempts 1 to 34 fail because there is no such table, but 35 succeeds because suddenly there *is* a table.
>
> Alternatively I can wait for half a second or so after starting mnesia
>
> I guess this is a synchronisation error in the start-up?
>
> /Joe
>
>
>
>Eshell V5.3 (abort with ^G)
>1> bug:start()
>Oh dear N=0 {aborted,{no_exists,mom_types}}
>Oh dear N=1 {aborted,{no_exists,mom_types}}
>...
>Oh dear N=33 {aborted,{no_exists,mom_types}}
>Oh dear N=34 {aborted,{no_exists,mom_types}}
>At last N=35 ok
>true
>
>
>-module(bug).
>
>-export([start/0]).
>
>start() ->
> mnesia:start(),
> do(0).
>
>do(N) ->
> V = mnesia:transaction(fun() ->
> mnesia:write({mom_types,a,b})
> end),
> case V of
> {atomic, X} ->
> io:format("At last N=~w ~p~n",[N, X]),
> true;
> Other ->
> io:format("Oh dear N=~w ~p~n",[N, Other]),
> do(N+1)
> end.
>
>
>
More information about the erlang-questions
mailing list