Akka GracePeriod和群集中的Opendaylight捆绑包未出现

Akka GracePeriod和群集中的Opendaylight捆绑包未出现,akka,akka-stream,apache-karaf,opendaylight,akka-cluster,Akka,Akka Stream,Apache Karaf,Opendaylight,Akka Cluster,我们使用的是ODL氮气版本。当我们执行热启动即重启Karaf服务器时,在不删除Karaf_HOME/data文件夹的情况下,以下捆绑包长时间处于GracePeriod状态,因此依赖于此的其他应用程序捆绑包将失败。然而,当我们在一个干净的无数据文件夹状态下启动Karaf时,所有包都会正常运行 我们还注意到,当捆绑包进入故障状态时,netty.tcp端口2550没有被绑定。已确认其他进程也未使用此端口 349 | GracePeriod | 80 | 2.3.3

我们使用的是ODL氮气版本。当我们执行热启动即重启Karaf服务器时,在不删除Karaf_HOME/data文件夹的情况下,以下捆绑包长时间处于GracePeriod状态,因此依赖于此的其他应用程序捆绑包将失败。然而,当我们在一个干净的无数据文件夹状态下启动Karaf时,所有包都会正常运行

我们还注意到,当捆绑包进入故障状态时,netty.tcp端口2550没有被绑定。已确认其他进程也未使用此端口

349 | GracePeriod |  80 | 2.3.3                               | mdsal-eos-binding-adapter
350 | Active      |  80 | 2.3.3                               | mdsal-eos-binding-api
351 | Active      |  80 | 2.3.3                               | mdsal-eos-common-api
352 | Active      |  80 | 2.3.3                               | mdsal-eos-common-spi
376 | GracePeriod |  80 | 2.3.3                               | mdsal-singleton-dom-impl
142 | Active      |  80 | 2.4.20                              | akka-actor
143 | Active      |  80 | 2.4.20                              | akka-cluster
144 | Active      |  80 | 2.4.20                              | akka-osgi
145 | Active      |  80 | 2.4.20                              | akka-persistence
146 | Active      |  80 | 2.4.20                              | akka-protobuf
147 | Active      |  80 | 2.4.20                              | akka-remote
148 | Active      |  80 | 2.4.20                              | akka-slf4j
149 | Active      |  80 | 2.4.20                              | akka-stream
310 | Active      |  80 | 1.6.3                               | org.opendaylight.controller.sal-akka-raft
我们还观察到以下日志不断滚动,只有此消息非常频繁。似乎它不允许任何其他捆绑包共同执行

2018-07-02 22:52:47,299 | WARN  | saction-25-27'}}  | 298 - org.opendaylight.controller.config-manager - 0.7.3 | DeadlockMonitor$DeadlockMonitorRunnable | ModuleIdentifier{factoryName='binding-broker-impl', instanceName='binding-broker-impl'} did not finish after 84984 ms

2018-07-02 22:52:50,717 | ERROR | rint Extender: 3  | 325 - org.opendaylight.controller.sal-distributed-datastore - 1.6.3 | AbstractDataStore | Shard leaders failed to settle in 90 seconds, giving up
Graceperiod束的Diag输出

karaf@virtuora>diag 349
mdsal-eos-binding-adapter (349)
-------------------------------
Status: GracePeriod
Blueprint
7/3/18 6:17 PM
Missing dependencies:
(objectClass=org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer) (objectClass=org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService)

karaf@virtuora>diag 376
mdsal-singleton-dom-impl (376)
------------------------------
Status: GracePeriod
Blueprint
7/3/18 6:22 PM
Missing dependencies:
(objectClass=org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService)
请让我们知道

为什么akka无法打开netty tcp端口 为什么使用DOMEntityOwnershipService和BindingNormalizedNodeSerializer
您需要设置SO_REUSEADDR,以使端口在关闭后可以直接重用。看见 如果未设置此选项,则端口将被阻塞一段时间,具体取决于操作系统


如果可能的话,您也不应该强制终止进程,因为这不会完全关闭端口。

当包停止时是否关闭tcp端口?谢谢Christian Schneider。进程是使用kill-9命令终止的。