This is an automated email from the ASF dual-hosted git repository. sergeykamov pushed a commit to branch NLPCRAFT-31 in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
commit b0249f0954d118ccc9e60434b8fe374769594e7a Author: Sergey Kamov <[email protected]> AuthorDate: Fri Apr 3 16:56:51 2020 +0300 WIP. --- src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala | 8 +++++++- .../org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala | 6 +++--- .../org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala | 7 ++++--- .../org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala | 3 ++- .../apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala | 3 +-- .../org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala | 3 ++- src/main/scala/org/apache/nlpcraft/server/tx/NCTxManager.scala | 3 ++- 7 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala b/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala index 671b3d6..caba0bb 100644 --- a/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala +++ b/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala @@ -171,7 +171,13 @@ private [probe] object NCProbeBoot extends LazyLogging with NCOpenCensusTrace { catching(classOf[Throwable]) either startManagers(cfg) match { case Left(e) ⇒ // Exception. e match { - case x: NCException ⇒ logger.error(s"Failed to start probe.", x) + case x: NCException ⇒ + logger.error(s"Failed to start probe.", x) + + stopManagers() + + logger.info("Managers stopped.") + case x: Throwable ⇒ logger.error("Failed to start probe due to unexpected error.", x) } diff --git a/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala b/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala index 1094b16..a59eea0 100644 --- a/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala +++ b/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala @@ -52,7 +52,7 @@ object NCConnectionManager extends NCService { @volatile private var probeGuid: String = _ // Internal semaphores. - @volatile private var stopSem: AtomicInteger = _ + private val stopSem = new AtomicInteger(1) private final val sysProps: Properties = System.getProperties private final val localHost: InetAddress = InetAddress.getLocalHost @@ -278,8 +278,8 @@ object NCConnectionManager extends NCService { probeGuid = U.genGuid() dnLinkQueue = mutable.Queue.empty[Serializable] - stopSem = new AtomicInteger(1) - + stopSem.set(1) + val ctrlLatch = new CountDownLatch(1) ctrlThread = U.mkThread("probe-ctrl-thread") { t ⇒ diff --git a/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala b/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala index f6a7e1d..746bdda 100644 --- a/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala +++ b/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala @@ -266,10 +266,11 @@ object NCDeployManager extends NCService with DecorateAsScala { @throws[NCE] override def stop(parent: Span = null): Unit = startScopedSpan("stop", parent) { _ ⇒ - if (isStarted) + if (modelFactory != null) modelFactory.terminate() - - models.clear() + + if (models != null) + models.clear() super.stop() } diff --git a/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala b/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala index a7c470a..6bf48f3 100644 --- a/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala +++ b/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala @@ -134,7 +134,8 @@ object NCModelManager extends NCService with DecorateAsScala { */ override def stop(parent: Span = null): Unit = startScopedSpan("stop", parent) { _ ⇒ mux.synchronized { - models.values.foreach(m ⇒ discardModel(m.model)) + if (models != null) + models.values.foreach(m ⇒ discardModel(m.model)) } super.stop() diff --git a/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala b/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala index 9fbf5f5..c6c2877 100644 --- a/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala +++ b/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala @@ -89,9 +89,8 @@ object NCProbeEnrichmentManager extends NCService with NCOpenCensusModelStats { } override def stop(parent: Span = null): Unit = startScopedSpan("stop", parent) { _ ⇒ - embeddedCbs.synchronized { + if (embeddedCbs != null) embeddedCbs.clear() - } super.stop() } diff --git a/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala b/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala index aad5d8e..589e64c 100644 --- a/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala +++ b/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala @@ -113,7 +113,8 @@ object NCNlpServerManager extends NCService { } override def stop(parent: Span = null): Unit = startScopedSpan("stop", parent) { _ ⇒ - ners.values.foreach(_.stop()) + if (ners != null) + ners.values.foreach(_.stop()) if (parser != null && parser.isStarted) parser.stop() diff --git a/src/main/scala/org/apache/nlpcraft/server/tx/NCTxManager.scala b/src/main/scala/org/apache/nlpcraft/server/tx/NCTxManager.scala index c368717..e9789e0 100644 --- a/src/main/scala/org/apache/nlpcraft/server/tx/NCTxManager.scala +++ b/src/main/scala/org/apache/nlpcraft/server/tx/NCTxManager.scala @@ -51,7 +51,8 @@ object NCTxManager extends NCService with NCIgniteInstance { */ override def stop(parent: Span = null): Unit = startScopedSpan("stop", parent) { _ ⇒ // Close all still attached JDBC connections on stop. - cons.values.foreach(U.close) + if (cons != null) + cons.values.foreach(U.close) super.stop() }
