Пакеты Opendaylight в GracePeriod и кластер не появляются - PullRequest
0 голосов
/ 04 июля 2018

Мы используем версию ODL Nitrogen. Когда мы выполняем теплый запуск (т. Е. Перезапускаем серверы Karaf, не удаляя папку «KARAF_HOME / data», следующие пакеты долгое время находятся в состоянии «GracePeriod», поэтому другие пакеты приложений, которые зависят от этого, не работают. Однако, когда мы запускаем Караф в чистом (без папки с данными) состоянии, все комплекты подходят нормально.

Мы также заметили, что порт 2550 netty.tcp не связывается, когда пакеты переходят в состояние отказа. Подтвердил, что этот порт не используется другим процессом.

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

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)

Пожалуйста, дайте нам знать

  1. почему akka не может открыть порт netc tcp
  2. почему DOMEntityOwnershipService and BindingNormalizedNodeSerializer

1 Ответ

0 голосов
/ 06 июля 2018

Вам необходимо установить SO_REUSEADDR, чтобы разрешить прямое повторное использование порта после его закрытия. Смотри https://docs.oracle.com/javase/7/docs/api/java/net/StandardSocketOptions.html#SO_REUSEADDR Если вы не установите эту опцию, порт будет некоторое время заблокирован в зависимости от операционной системы.

Вы также не должны принудительно завершать процесс, если это возможно, поскольку это не приводит к чистому закрытию портов.

...