accessing ets from the process on other node

sapan shah <>
Mon Nov 9 08:16:39 CET 2009


HI,

I use digraph module to create graphs and apply some functions on it. The
digraph is internally stored as ets tuples.
I am using mapreduce architecture to speed up the computations on the
digraph (using plists.erl from Stephen Marsh).
So, When the graph is passed to a process on some other node on network, it
exits with error. (may be because it is not able to access the ets tuples)
Any solution???

Below is a small test example to generate the error
%%%%%%%%%%%%%%%%%%%%%%%%%%%
-module(pliststest).
-compile(export_all).

malt() ->
    [100, {nodes, [{'', 3}, {'', 3}]}].

test(G, List) ->
    Fun = fun(X) -> io:format("TROUBLE: ~p~n",[digraph:vertices(G)]),
lists:foldr(fun(_Y,ACC) -> ACC+1 end, 0, X) end,
    Fuse = fun(X, Y) -> X+Y end,
    plists:runmany(Fun, Fuse, List, malt()).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Also, PFA the plists.erl (from Stephen Marsh).

-- 
Regards,
Sapan Shah
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20091109/d41c620b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plists.erl
Type: text/x-erlang
Size: 25663 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20091109/d41c620b/attachment.bin>


More information about the erlang-questions mailing list