[erlang-questions] Reinserting a message into a gen_server's mailbox

Juan Jose Comellas juanjo@REDACTED
Thu Jul 29 23:04:19 CEST 2010


On Thu, Jul 29, 2010 at 4:37 PM, Gleb Peregud <gleber.p@REDACTED> wrote:

> On Thu, Jul 29, 2010 at 21:31, Juan Jose Comellas <juanjo@REDACTED>
> wrote:
> > I'm aware that I can do a gen_server:reply/2 from any process, but I was
> > planning on issuing the gen_server:reply/2 calls from the gen_server
> process
> > because that's where I'll be queueing up the requests.
>
> Do you need this for doing some kind of throttling? Or to make sure
> that these requests are processed one by one serially?
>

Just to make sure that the requests are processed sequentially in the order
they were received.



> > I'm still curious, though, does the format of these internal messages
> ever
> > change? What happens if I use two different Erlang/OTP versions in my
> nodes?
> > Does the newer VM/library still accept the old version of the messages?
>
> gen_* message format is not documented. So there are no guarantees
> that they will not change, so you shouldn't rely on them unless you
> are ready to take the risk. AFAIR there's a promise that nodes which
> major version differ by one will work together in a cluster (e.g. R13
> would work with R14).
>

Have you seen this "promise" documented anywhere? I've always been hesitant
to have different Erlang versions in the nodes that run as a single system
specifically because I was not sure which versions were compatible at the
message format level.


Best,
> Gleb Peregud
>


Juanjo.


More information about the erlang-questions mailing list