【问题标题】:Erlang Takeover failing after successful Failover成功故障转移后 Erlang Takeover 失败
【发布时间】:2010-10-27 14:18:38
【问题描述】:

我有一个分布在 2 个节点上的应用程序。当我停止()第一个节点时,故障转移工作完美,但是(有时?)当我重新启动第一个节点时,接管失败并且应用程序崩溃,因为 start_link 返回已经启动。

SUPERVISOR REPORT  <0.60.0>                                 2009-05-20 12:12:01
===============================================================================
Reporting supervisor                          {local,twitter_server_supervisor}

Child process
   errorContext                                                     start_error
   reason                                         {already_started,<2415.62.0>}
   pid                                                                undefined
   name                                                                    tag1
   start_function                                {twitter_server,start_link,[]}
   restart_type                                                       permanent
   shutdown                                                               10000
   child_type                                                            worker

ok

我的应用

start(_Type, Args)->
    twitter_server_supervisor:start_link( Args ).

stop( _State )->
    ok.

我的主管:

start_link( Args ) ->
    supervisor:start_link( {local,?MODULE}, ?MODULE, Args ).    

两个节点都使用相同的 sys.config 文件。

我对这个过程有什么不明白上述不应该起作用的?

【问题讨论】:

  • 我能问你从哪里得到格式如此精美的 sasl 主管报告吗?它比默认值更具可读性。你能分享它的链接或它的来源吗?
  • 这是我在带有 erl_12B 的 windows 框中使用 rb:show(N) 得到的标准结果。我看到的唯一其他变化是,如果您通过 rpc 进行调用,那么输出中会充斥着节点名称?你在看什么?

标签: erlang erlang-otp


【解决方案1】:

您的问题似乎源于 twitter 服务器主管试图启动它的一个孩子。既然报错用start_function抱怨child

{twitter_server,start_link,[]}

由于您没有显示该代码,我只能猜测它正在尝试为自己注册一个名称,但已经有一个使用该名称注册的进程。

更猜测,原因显示了一个 Pid,这个 Pid 的名字是我们试图为自己获取的:

{already_started,<2415.62.0>}

那里的 Pid 有一个非零的初始整数,如果它是零,则意味着它是一个本地进程。从中我推断您正在尝试注册一个全局名称,并且您连接到另一个节点,其中已经有一个以该名称全局注册的进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2014-04-27
    • 2020-07-07
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多