You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by se...@apache.org on 2020/04/03 13:57:03 UTC
[incubator-nlpcraft] 01/01: WIP.
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 <se...@apache.org>
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()
}