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()
     }