Your code is not available on the other node.<div>If that code is not in the code path.</div><div><br></div><div>But if want you can avoid the rpc if the node will be permanent, </div><div>it will be slightly slower though.</div>

<div><br></div><div>mnesia:start([{extra_db_nodes, [Node]}]),</div><div>mnesia:transaction(fun() -> mnesia:read(...) end).</div><div><br></div><div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Dec 15, 2012 at 5:36 PM,  <span dir="ltr"><<a href="mailto:arif@riseup.net" target="_blank">arif@riseup.net</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I'm having some trouble with an rpc call in R5B03-1.<br>
<br>
I have one node, mnesianode@mydesk, with mnesia running and with a table<br>
mytable.<br>
<br>
If I use rpc to read a record from a shell running on another node, it<br>
works fine.<br>
<br>
(another@mydesk)1> Fun = fun() -> mnesia:read(mytable, akey) end.<br>
#Fun<erl_eval.<a href="tel:20.82930912" value="+12082930912" target="_blank">20.82930912</a>><br>
(another@mydesk)2> rpc:call('mnesianode@mydesk', mnesia, transaction, [Fun]).<br>
{atomic,[{mytable,akey,<snip>}]}<br>
(another@mydesk)3><br>
<br>
<br>
However, if I put the code in a file:<br>
<br>
-module(anrpctest).<br>
-compile(export_all).<br>
<br>
do() -><br>
    F = fun() -> mnesia:read(mytable, akey) end,<br>
    {atomic, Result} = rpc:call('mnesianode@mydesk', mnesia, transaction,<br>
[F]),<br>
    Result.<br>
<br>
and try to execute anrpctest:do(), it fails.<br>
<br>
(another@mydesk)4> c(anrpctest).<br>
{ok,anrpctest}<br>
(another@mydesk)5> anrpctest:do().<br>
** exception error: no match of right hand side value<br>
                    {aborted,<br>
                        {undef,<br>
                            [{#Fun<anrpctest.0.126678793>,[],[]},<br>
                             {mnesia_tm,apply_fun,3,<br>
                                 [{file,"mnesia_tm.erl"},{line,829}]},<br>
                             {mnesia_tm,execute_transaction,5,<br>
                                 [{file,"mnesia_tm.erl"},{line,809}]},<br>
                             {rpc,'-handle_call_call/6-fun-0-',5,<br>
                                 [{file,"rpc.erl"},{line,203}]}]}}<br>
     in function  anrpctest:do/0 (anrpctest.erl, ....<br>
<br>
Any idea why this is happening?<br>
<br>
Thanks and regards<br>
Arif<br>
<br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br></div>