[erlang-questions] Optimal way to restrict a ram_copies table to N entries

Thomas Lindgren <>
Fri Jun 29 10:17:55 CEST 2007


--- t ty <> wrote:

> The pid/ref becomes (hopefully) invalid. if you send
> message to it the
> behaviour is undefined, meaning it could refers to a
> valid live
> process and hopefully it doesn't react to the
> message.
> 
> Instead of storing a pid, store the process state.
> That way you can
> restart a process and bring it back to the 'current'
> state before the
> node went down.

As you say there are workarounds, and I don't
recommend doing it, but one can still ask what might
happen. As far as I know, Erlang the language doesn't
require or guarantee eternal uniqueness, even if it
might be intended. I haven't checked how Erlang/OTP
the implementation implements pids or refs.

A straightforward implementation, say, an internal
counter initialized at node startup, could generate
duplicates, either easily (start from zero) or
occasionally (start at random number).

(As an aside, I suppose essentially the same problem
could arise from sending data from node A to node B,
then rebooting A, then sending the data back to A
after a while. In both cases, the data escape the
system that created them. Can A then distinguish old
from new 'unique' data?)

And to conclude: this might already be handled in
Erlang/OTP, but there definitely are some concrete
pitfalls.

Best,
Thomas



       
____________________________________________________________________________________
Choose the right car based on your needs.  Check out Yahoo! Autos new Car Finder tool.
http://autos.yahoo.com/carfinder/



More information about the erlang-questions mailing list