You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by ar...@apache.org on 2020/04/03 18:55:06 UTC
[incubator-nlpcraft] branch master updated: Fix for NLPCRAFT-31.
This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/master by this push:
new 3767b84 Fix for NLPCRAFT-31.
3767b84 is described below
commit 3767b845b81dfb35ade4cca345ad798bdeaece24
Author: Aaron Radzinzski <ar...@datalingvo.com>
AuthorDate: Fri Apr 3 11:55:02 2020 -0700
Fix for NLPCRAFT-31.
---
src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala | 8 +++++++-
.../apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala | 6 +++---
.../apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala | 7 ++++---
.../org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala | 3 ++-
.../nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala | 11 +++++++----
.../apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala | 3 ++-
.../scala/org/apache/nlpcraft/server/tx/NCTxManager.scala | 3 ++-
7 files changed, 27 insertions(+), 14 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..a54898d 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
@@ -69,6 +69,8 @@ object NCProbeEnrichmentManager extends NCService with NCOpenCensusModelStats {
@volatile private var embeddedCbs: mutable.Set[EMBEDDED_CB] = _
+ private final val mux = new Object()
+
private object Config extends NCConfigurable {
final private val pre = "nlpcraft.probe"
@@ -89,8 +91,9 @@ object NCProbeEnrichmentManager extends NCService with NCOpenCensusModelStats {
}
override def stop(parent: Span = null): Unit = startScopedSpan("stop", parent) { _ ⇒
- embeddedCbs.synchronized {
- embeddedCbs.clear()
+ mux.synchronized {
+ if (embeddedCbs != null)
+ embeddedCbs.clear()
}
super.stop()
@@ -101,7 +104,7 @@ object NCProbeEnrichmentManager extends NCService with NCOpenCensusModelStats {
* @param cb Callback.
*/
private [probe] def addEmbeddedCallback(cb: EMBEDDED_CB): Unit = {
- embeddedCbs.synchronized {
+ mux.synchronized {
embeddedCbs.add(cb)
}
}
@@ -111,7 +114,7 @@ object NCProbeEnrichmentManager extends NCService with NCOpenCensusModelStats {
* @param cb Callback.
*/
private [probe] def removeEmbeddedCallback(cb: EMBEDDED_CB): Unit = {
- embeddedCbs.synchronized {
+ mux.synchronized {
embeddedCbs.remove(cb)
}
}
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()
}