How to do a takeover?

Torbjorn Tornkvist <>
Wed Mar 16 09:29:18 CET 2005


Anders Nygren wrote:

>Hi
>I have started looking at how to do a takeover.
>In my tests I discovered that I need to do a global:reregister_name
>to "move" the name of my server to the new node, and how to move some 
>state information from the old to the new node.
>
>The way my current design works is that I have a number of gen_servers.
>When one server needs to call another server it spawns a worker that makes the
>call, so as to not block. This gives me the problem that I have a lot of workers
>that must terminated correctly before the takeover can be finalized.
>
>But I dont understand how to make a controlled transfer of messages in the 
>mailbox, or linked worker processes.
>
>My best guess now is that I have to stop using gen_server:call to other servers
>and instead use an interface between my servers that always sends messages to
>processes with globally registered names.
>
>/Anders Nygren
>  
>
This tutorial by Ulf Wiger, at least touches on the topic:

 http://www.trapexit.org/docs/howto/release_handling_tutorial.html

Cheers, Tobbe




More information about the erlang-questions mailing list