从<nil>收到重复的连接

时间:2016-06-01 14:28:45

标签: hyperledger

我正在尝试在不同的计算机上建立一个包含4个节点的PBFT网络。在core.yaml中,我更改了以下参数:peer.id是vp0-vp3,peer.address是节点的IP和端口,peer.validator.consensus.plugin是pbft,{{1是vp0节点的IP和端口。当我启动节点时,我在节点中看到警告和错误(我在vp0中启动它们 - &gt; vp3顺序)

VP0:

peer.discovery.rootnode

VP1:

13:53:34.091 [main] serve -> INFO 032 Starting peer with id=name:"vp0" , network id=dev, address=172.31.45.37:30303, discovery.rootnode=, validator=true
13:53:34.091 [rest] StartOpenchainRESTServer -> INFO 033 Initializing the REST service on 0.0.0.0:5000, TLS is disabled.
13:53:39.833 [consensus/util] RegisterChannel -> INFO 034 Registering connection from <nil>
13:53:44.393 [consensus/util] RegisterChannel -> WARN 035 Received duplicate connection from <nil>, switching to new connection
13:56:45.008 [consensus/util] RegisterChannel -> WARN 036 Received duplicate connection from <nil>, switching to new connection

VP2:

13:53:38.827 [main] serve -> INFO 032 Starting peer with id=name:"vp1" , network id=dev, address=172.31.46.226:30303, discovery.rootnode=172.31.45.37:30303, validator=true
13:53:38.828 [rest] StartOpenchainRESTServer -> INFO 033 Initializing the REST service on 0.0.0.0:5000, TLS is disabled.
13:53:39.829 [consensus/util] RegisterChannel -> INFO 034 Registering connection from <nil>
13:53:45.832 [consensus/util] RegisterChannel -> WARN 035 Received duplicate connection from <nil>, switching to new connection
13:56:50.832 [consensus/util] RegisterChannel -> WARN 036 Received duplicate connection from <nil>, switching to new connection
13:56:51.007 [consensus/util] RegisterChannel -> WARN 037 Received duplicate connection from <nil>, switching to new connection
13:56:51.007 [peer] handleChat -> ERRO 038 Error handling message: Peer FSM failed while handling message (DISC_HELLO): current state: created, error: transition canceled with error: Error registering Handler: Duplicate Handler error: {name:"vp3"  172.31.43.65:30303 VALIDATOR }

VP3:

13:53:43.370 [main] serve -> INFO 032 Starting peer with id=name:"vp2" , network id=dev, address=172.31.37.75:30303, discovery.rootnode=172.31.45.37:30303, validator=true
13:53:43.370 [rest] StartOpenchainRESTServer -> INFO 033 Initializing the REST service on 0.0.0.0:5000, TLS is disabled.
13:53:44.372 [consensus/util] RegisterChannel -> INFO 034 Registering connection from <nil>
13:53:45.816 [consensus/util] RegisterChannel -> WARN 035 Received duplicate connection from <nil>, switching to new connection
13:56:50.376 [consensus/util] RegisterChannel -> WARN 036 Received duplicate connection from <nil>, switching to new connection
13:56:50.994 [consensus/util] RegisterChannel -> WARN 037 Received duplicate connection from <nil>, switching to new connection
13:56:50.994 [peer] handleChat -> ERRO 038 Error handling message: Peer FSM failed while handling message (DISC_HELLO): current state: created, error: transition canceled with error: Error registering Handler: Duplicate Handler error: {name:"vp3"  172.31.43.65:30303 VALIDATOR }

可能是什么问题?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,但在将hyperledger/fabric更新为新版本(它是提交eb7605ea9a50f10ae7e275811b61c5b43ec239f2)后,它开始起作用了。

对等方按以下顺序成功相互连接(使用pbft consensus插件中的默认设置):

vp3 -> vp2 -> vp1 -> vp0

(vp3连接到vp2等)。

答案 1 :(得分:0)

github上有几个相关的问题

https://github.com/hyperledger/fabric/issues/1468
https://github.com/hyperledger/fabric/issues/685

我在亚马逊的Hyperledger Fabric部署方面遇到了类似问题(1个成员资格,4个部署在不同虚拟机上的验证对等体,PBFT共识,启用了安全性)。

有两种情况,“处理消息时对等FSM失​​败”错误信息在日志中:

  1. 如果其中一个带有验证对等方的EC2实例已停止,然后再次启动。
  2. 如果我尝试将新节点添加到群集中。即使它是具有类似Fabric配置和新对等ID的全新VM(此群集之前未使用id)
  3. 仅当首次将Validation Peer添加到群集时,才可以重现此问题。 第二次,例如,如果“peer”进程被终止(Ctrl+C)然后再次启动,Validation Peer在启动时没有问题。

    我仍然在寻找所有验证对等体的日志文件中“收到重复连接”消息的原因。至少此警告不会导致部署出现任何明显问题。