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/09/19 00:17:35 UTC

[incubator-nlpcraft] branch master updated: Fix for NLPCRAFT-133 + misc. updates.

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 fdbb0c1  Fix for NLPCRAFT-133 + misc. updates.
fdbb0c1 is described below

commit fdbb0c1b6311d5e0fa92e19dacc638759785074a
Author: Aaron Radzinski <ar...@datalingvo.com>
AuthorDate: Fri Sep 18 17:17:26 2020 -0700

    Fix for NLPCRAFT-133 + misc. updates.
---
 .../org/apache/nlpcraft/common/util/NCUtils.scala  | 23 ++++++++++------------
 .../org/apache/nlpcraft/probe/NCProbeBoot.scala    | 20 +++++++++++++------
 .../probe/mgrs/conn/NCConnectionManager.scala      |  2 +-
 .../probe/mgrs/nlp/NCProbeEnrichmentManager.scala  |  2 --
 .../nlp/enrichers/NCServerEnrichmentManager.scala  | 18 +++++++++++++----
 5 files changed, 39 insertions(+), 26 deletions(-)

diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
index 6f6c0f6..7182c54 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
@@ -1164,22 +1164,19 @@ object NCUtils extends LazyLogging {
             t.interrupt()
 
     /**
-      * Shuts down executor services and waits for their finish.
+      * Shuts down executor service and waits for its finish.
       *
-      * @param ess Executor services.
+      * @param es Executor service.
       */
-    def shutdownPools(ess: ExecutorService*): Unit =
-        if (ess != null) {
-            val seq = ess.filter(_ != null)
+    def shutdownPools(es: ExecutorService): Unit =
+        if (es != null) {
+            es.shutdown()
 
-            seq.foreach(_.shutdown())
-            seq.foreach(es ⇒
-                try
-                    es.awaitTermination(Long.MaxValue, TimeUnit.MILLISECONDS)
-                catch {
-                    case _: InterruptedException ⇒ () // Safely ignore.
-                }
-            )
+            try
+                es.awaitTermination(Long.MaxValue, TimeUnit.MILLISECONDS)
+            catch {
+                case _: InterruptedException ⇒ () // Safely ignore.
+            }
         }
 
     /**
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
index eafed56..3051158 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
@@ -21,6 +21,7 @@ import java.util.concurrent.CompletableFuture
 
 import com.typesafe.config.{Config, ConfigFactory, ConfigValueFactory}
 import com.typesafe.scalalogging.LazyLogging
+import io.opencensus.trace.Span
 import org.apache.nlpcraft.common.ascii.NCAsciiTable
 import org.apache.nlpcraft.common.config.NCConfigurable
 import org.apache.nlpcraft.common.nlp.core.NCNlpCoreManager
@@ -435,7 +436,14 @@ private [probe] object NCProbeBoot extends LazyLogging with NCOpenCensusTrace {
             startedMgrs += NCDialogFlowManager.start(span)
         }
     }
-    
+
+    private def stopManager(mgr: NCService, span: Span): Unit =
+        try
+            mgr.stop(span)
+        catch {
+            case e: Throwable ⇒ U.prettyError(logger, s"Failed to stop manager: ${mgr.name}", e)
+        }
+
     /**
       *
       */
@@ -443,14 +451,14 @@ private [probe] object NCProbeBoot extends LazyLogging with NCOpenCensusTrace {
         startScopedSpan("stopManagers") { span ⇒
             startedMgrs.synchronized {
                 try
-                    startedMgrs.reverseIterator.foreach(_.stop(span))
+                    startedMgrs.reverseIterator.foreach(stopManager(_, span))
                 finally
                     startedMgrs.clear()
             }
+
+            // Lifecycle callback outside of tracing span.
+            NCLifecycleManager.onDiscard()
+            stopManager(NCLifecycleManager, span)
         }
-        
-        // Lifecycle callback outside of tracing span.
-        NCLifecycleManager.onDiscard()
-        NCLifecycleManager.stop()
     }
 }
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
index 0280d74..e9bd5e9 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
@@ -417,7 +417,7 @@ object NCConnectionManager extends NCService {
                         timeout()
                     }
                     else
-                        logger.warn(s"REST server connection closed.")
+                        logger.info(s"REST server connection closed.")
                 }
                 catch {
                     case e: HandshakeError ⇒
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
index a51e051..d96cd7d 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
@@ -105,8 +105,6 @@ object NCProbeEnrichmentManager extends NCService with NCOpenCensusModelStats {
      * @param parent Optional parent span.
      */
     override def stop(parent: Span = null): Unit = startScopedSpan("stop", parent) { _ ⇒
-        super.stop()
-
         mux.synchronized {
             if (embeddedCbs != null)
                 embeddedCbs.clear()
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/NCServerEnrichmentManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/NCServerEnrichmentManager.scala
index 5df450c..4d3d6b4 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/NCServerEnrichmentManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/NCServerEnrichmentManager.scala
@@ -56,7 +56,7 @@ object NCServerEnrichmentManager extends NCService with NCIgniteInstance {
 
     private val HEADERS: Map[String, (Int, Seq[String])] =
         Seq(
-            "nlpcraft:nlp" → Seq("origText", "index", "pos", "lemma", "stem", "bracketed", "quoted", "stopWord", "ne", "nne"),
+            "nlpcraft:nlp" → Seq("origText", "index", "pos", "lemma", "stem", "bracketed", "quoted", "stopWord"),
             "nlpcraft:continent" → Seq("continent"),
             "nlpcraft:subcontinent" → Seq("continent", "subcontinent"),
             "nlpcraft:country" → Seq("country"),
@@ -121,7 +121,7 @@ object NCServerEnrichmentManager extends NCService with NCIgniteInstance {
 
             ner(s, enabledBuiltInToks)
 
-            prepareAsciiTable(s).info(logger, Some(s"Sentence enriched: $normTxt"))
+            prepareAsciiTable(s).info(logger, Some(s"Sentence enriched: '$normTxt'"))
 
             cache += normTxt → Holder(s, enabledBuiltInToks)
 
@@ -152,7 +152,7 @@ object NCServerEnrichmentManager extends NCService with NCIgniteInstance {
                 cache(normTxt) match {
                     case Some(h) ⇒
                         if (h.enabledBuiltInTokens == normEnabledBuiltInToks) {
-                            prepareAsciiTable(h.sentence).info(logger, Some(s"Sentence enriched (from cache): $normTxt"))
+                            prepareAsciiTable(h.sentence).info(logger, Some(s"Sentence enriched (from cache): '$normTxt'"))
 
                             h.sentence
                         }
@@ -206,8 +206,18 @@ object NCServerEnrichmentManager extends NCService with NCIgniteInstance {
 
         val tbl = NCAsciiTable(headers.map(_.header): _*)
 
+        /**
+         *
+         * @param tok
+         * @param hdr
+         * @return
+         */
         def mkNoteValue(tok: NCNlpSentenceToken, hdr: Header): Seq[String] =
-            tok.getNotes(hdr.noteType).filter(_.contains(hdr.noteName)).map(_(hdr.noteName).toString()).toSeq
+            tok
+                .getNotes(hdr.noteType)
+                .filter(_.contains(hdr.noteName))
+                .map(_(hdr.noteName).toString())
+                .toSeq
 
         for (tok ← s)
             tbl += (headers.map(mkNoteValue(tok, _)): _*)