This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch NLPCRAFT-137
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-137 by this push:
new 84b8609 WIP.
84b8609 is described below
commit 84b86099bbd3f04b68260f671df24d5ba584cf3e
Author: Aaron Radzinski <[email protected]>
AuthorDate: Sun Sep 27 15:30:56 2020 -0700
WIP.
---
.../nlp/core/stanford/NCStanfordCoreManager.scala | 8 ++-
.../nlp/core/stanford/NCStanfordNerEnricher.scala | 8 ++-
.../nlp/core/stanford/NCStanfordParser.scala | 8 ++-
nlpcraft/pom.xml | 4 +-
.../org/apache/nlpcraft/common/NCService.scala | 79 ++++++++++++++++++----
.../common/extcfg/NCExternalConfigManager.scala | 7 +-
.../common/nlp/core/NCNlpCoreManager.scala | 8 ++-
.../nlp/core/opennlp/NCOpenNlpTokenizer.scala | 8 ++-
.../common/nlp/dict/NCDictionaryManager.scala | 7 +-
.../common/nlp/numeric/NCNumericManager.scala | 14 +++-
.../nlpcraft/probe/mgrs/cmd/NCCommandManager.scala | 6 +-
.../probe/mgrs/conn/NCConnectionManager.scala | 26 ++-----
.../mgrs/conversation/NCConversationManager.scala | 37 +++++-----
.../probe/mgrs/deploy/NCDeployManager.scala | 8 ++-
.../mgrs/dialogflow/NCDialogFlowManager.scala | 37 +++++-----
.../probe/mgrs/lifecycle/NCLifecycleManager.scala | 7 +-
.../nlpcraft/probe/mgrs/model/NCModelManager.scala | 8 ++-
.../probe/mgrs/nlp/NCProbeEnrichmentManager.scala | 8 ++-
.../dictionary/NCDictionaryEnricher.scala | 7 +-
.../mgrs/nlp/enrichers/limit/NCLimitEnricher.scala | 8 ++-
.../mgrs/nlp/enrichers/model/NCModelEnricher.scala | 6 +-
.../enrichers/relation/NCRelationEnricher.scala | 7 +-
.../mgrs/nlp/enrichers/sort/NCSortEnricher.scala | 8 ++-
.../enrichers/stopword/NCStopWordEnricher.scala | 8 ++-
.../suspicious/NCSuspiciousNounsEnricher.scala | 6 +-
.../mgrs/nlp/validate/NCValidateManager.scala | 7 +-
.../nlpcraft/server/company/NCCompanyManager.scala | 7 +-
.../server/feedback/NCFeedbackManager.scala | 7 +-
.../apache/nlpcraft/server/geo/NCGeoManager.scala | 8 ++-
.../lifecycle/NCServerLifecycleManager.scala | 7 +-
.../server/nlp/core/NCNlpServerManager.scala | 8 ++-
.../nlp/core/google/NCGoogleNerEnricher.scala | 8 ++-
.../nlp/core/opennlp/NCOpenNlpNerEnricher.scala | 8 ++-
.../server/nlp/core/opennlp/NCOpenNlpParser.scala | 8 ++-
.../server/nlp/core/spacy/NCSpaCyNerEnricher.scala | 7 +-
.../nlp/enrichers/NCServerEnrichmentManager.scala | 8 ++-
.../nlp/enrichers/basenlp/NCBaseNlpEnricher.scala | 7 +-
.../coordinate/NCCoordinatesEnricher.scala | 8 ++-
.../server/nlp/enrichers/date/NCDateEnricher.scala | 7 +-
.../server/nlp/enrichers/geo/NCGeoEnricher.scala | 8 ++-
.../nlp/enrichers/numeric/NCNumericEnricher.scala | 6 +-
.../nlp/enrichers/quote/NCQuoteEnricher.scala | 6 +-
.../enrichers/stopword/NCStopWordEnricher.scala | 7 +-
.../server/nlp/preproc/NCPreProcessManager.scala | 6 +-
.../server/nlp/spell/NCSpellCheckManager.scala | 8 ++-
.../server/nlp/wordnet/NCWordNetManager.scala | 7 +-
.../nlpcraft/server/probe/NCProbeManager.scala | 14 ++--
.../server/proclog/NCProcessLogManager.scala | 7 +-
.../nlpcraft/server/query/NCQueryManager.scala | 7 +-
.../nlpcraft/server/rest/NCRestManager.scala | 8 ++-
.../apache/nlpcraft/server/sql/NCSqlManager.scala | 7 +-
.../server/sugsyn/NCSuggestSynonymManager.scala | 8 ++-
.../apache/nlpcraft/server/tx/NCTxManager.scala | 8 ++-
.../nlpcraft/server/user/NCUserManager.scala | 8 ++-
54 files changed, 381 insertions(+), 177 deletions(-)
diff --git
a/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordCoreManager.scala
b/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordCoreManager.scala
index f5b81a9..efd69e7 100644
---
a/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordCoreManager.scala
+++
b/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordCoreManager.scala
@@ -41,6 +41,8 @@ object NCStanfordCoreManager extends NCService with
NCIgniteInstance {
* @return
*/
override def start(parent: Span = null): NCService = {
+ ackStarting()
+
val p = new Properties()
p.setProperty("customAnnotatorClass.nctokenize",
classOf[NCStanfordAnnotator].getName)
@@ -53,7 +55,7 @@ object NCStanfordCoreManager extends NCService with
NCIgniteInstance {
cache = ignite.cache[String, CoreDocument]("stanford-cache")
}
- ackStart()
+ ackStarted()
}
/**
@@ -61,9 +63,11 @@ object NCStanfordCoreManager extends NCService with
NCIgniteInstance {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = {
+ ackStopping()
+
cache = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordNerEnricher.scala
b/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordNerEnricher.scala
index 53719cd..1da87b5 100644
---
a/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordNerEnricher.scala
+++
b/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordNerEnricher.scala
@@ -36,11 +36,13 @@ object NCStanfordNerEnricher extends NCService with
NCNlpNerEnricher with NCIgni
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
// Should be started even if another NLP engine configured.
if (!NCStanfordCoreManager.isStarted)
NCStanfordCoreManager.start(span)
- ackStart()
+ ackStarted()
}
/**
@@ -48,10 +50,12 @@ object NCStanfordNerEnricher extends NCService with
NCNlpNerEnricher with NCIgni
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { span ⇒
+ ackStopping()
+
if (NCStanfordCoreManager.isStarted)
NCStanfordCoreManager.stop(span)
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordParser.scala
b/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordParser.scala
index 646eefc..c7bc898 100644
---
a/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordParser.scala
+++
b/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordParser.scala
@@ -39,11 +39,13 @@ object NCStanfordParser extends NCService with NCNlpParser
with NCIgniteInstance
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
// Should be started even if another NLP engine configured.
if (!NCStanfordCoreManager.isStarted)
NCStanfordCoreManager.start(span)
- ackStart()
+ ackStarted()
}
/**
@@ -51,10 +53,12 @@ object NCStanfordParser extends NCService with NCNlpParser
with NCIgniteInstance
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { span ⇒
+ ackStopping()
+
if (NCStanfordCoreManager.isStarted)
NCStanfordCoreManager.stop(span)
- ackStop()
+ ackStopped()
}
override def parse(normTxt: String, parent: Span = null): Seq[NCNlpWord] =
diff --git a/nlpcraft/pom.xml b/nlpcraft/pom.xml
index 7789d59..350e7f8 100644
--- a/nlpcraft/pom.xml
+++ b/nlpcraft/pom.xml
@@ -283,8 +283,8 @@
<configuration>
<!--
Depending on the console config and how maven
is run this will produce the output with ANSI colors.
- To strip out ANSI escape sequences from the
log file, run the following:
- $ cat server-xxxxx.log | sed -r
"s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g" | sed "s/\x0f//g"
+ To strip out ANSI escape sequences from the
log file, see the following:
+
https://stackoverflow.com/questions/17998978/removing-colors-from-output
-->
<name>server</name>
<healthcheckUrl>http://localhost:8081/api/v1/health</healthcheckUrl>
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/NCService.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/NCService.scala
index 2e1be93..66422a6 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/NCService.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/NCService.scala
@@ -29,16 +29,18 @@ import scala.compat.Platform._
* extend this class are typically called 'managers'.
*/
abstract class NCService extends LazyLogging with NCOpenCensusTrace {
- private val startMs = currentTime
+ @volatile private var timeStampMs = -1L
@volatile private var started = false
+ @volatile private var starting = false
+ @volatile private var stopping = false
private final val clsName = U.cleanClassName(getClass)
- /**
- * Checks if this service is started.
- */
- def isStarted: Boolean = started
+ def isStarted: Boolean = started && !stopping && !starting
+ def isStopped: Boolean = !started && !stopping && !starting
+ def isStarting: Boolean = starting
+ def isStopping: Boolean = stopping
/**
* Starts this service.
@@ -48,7 +50,7 @@ abstract class NCService extends LazyLogging with
NCOpenCensusTrace {
@throws[NCE]
def start(parent: Span = null): NCService =
// Make sure this is not called by subclass.
- throw new AssertionError(s"NCService#start() should not be called
directly in '${U.cleanClassName(getClass)}' service.")
+ throw new AssertionError(s"NCService#start() should not be called
directly in '$name' service.")
/**
* Stops this service.
@@ -58,7 +60,7 @@ abstract class NCService extends LazyLogging with
NCOpenCensusTrace {
@throws[NCE]
def stop(parent: Span = null): Unit =
// Make sure this is not called by subclass.
- throw new AssertionError(s"NCService#stop() should not be called
directly in '${U.cleanClassName(getClass)}' service.")
+ throw new AssertionError(s"NCService#stop() should not be called
directly in '$name' service.")
/**
* Gets name of this service (as its class name).
@@ -68,21 +70,62 @@ abstract class NCService extends LazyLogging with
NCOpenCensusTrace {
def name: String = clsName
/**
+ * Acks the beginning of this service startup.
+ *
+ * @return This instance.
+ */
+ protected def ackStarting(): NCService = {
+ starting = true
+ timeStampMs = currentTime
+
+ logger.trace("$name staring...")
+
+ addTags(currentSpan(),
+ "state" → "starting"
+ )
+
+ this
+ }
+
+ /**
+ * Acks the beginning of this service shutdown.
+ *
+ * @return This instance.
+ */
+ protected def ackStopping(): NCService = {
+ stopping = true
+ timeStampMs = currentTime
+
+ logger.trace("$name stopping...")
+
+ addTags(currentSpan(),
+ "state" → "stopping"
+ )
+
+ this
+ }
+
+ /**
* Acks started service. Should be called at the end of the `start()`
method.
*/
- protected def ackStart(): NCService = {
+ protected def ackStarted(): NCService = {
assert(!started, s"Service '$name' is already started.")
+ assert(timeStampMs != -1, "Method 'NCService#ackStarting()' wasn't
called.")
+ starting = false
started = true
- val dur = s"$ansiBlueFg[${currentTime - startMs}ms]$ansiReset"
-
addTags(
currentSpan(),
- "startDurationMs" → (currentTime - startMs), "state" → started
+ "startDurationMs" → (currentTime - timeStampMs),
+ "state" → "started"
)
- logger.info(s"$clsName started $dur")
+ val dur = s"$ansiBlueFg[${currentTime - timeStampMs}ms]$ansiReset"
+
+ logger.info(s"$name started $dur")
+
+ timeStampMs = -1L
this
}
@@ -90,13 +133,19 @@ abstract class NCService extends LazyLogging with
NCOpenCensusTrace {
/**
* Acks stopped service. Should be called at the end of the `stop()`
method.
*/
- protected def ackStop(): Unit = {
+ protected def ackStopped(): Unit = {
+ assert(timeStampMs != -1, "Method 'NCService#ackStopping()' wasn't
called.")
+
+ stopping = false
started = false
addTags(currentSpan(),
- "state" → started
+ "stopDurationMs" → (currentTime - timeStampMs),
+ "state" → "stopped"
)
- logger.info(s"$clsName stopped.")
+ logger.info(s"$name stopped.")
+
+ timeStampMs = -1L
}
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/extcfg/NCExternalConfigManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/extcfg/NCExternalConfigManager.scala
index 126cca3..cbe292a 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/extcfg/NCExternalConfigManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/extcfg/NCExternalConfigManager.scala
@@ -145,6 +145,8 @@ object NCExternalConfigManager extends NCService {
* @param parent Optional parent span.
*/
override def start(parent: Span): NCService = startScopedSpan("start",
parent) { _ ⇒
+ ackStarting()
+
require(NCExternalConfigType.values.forall(FILES.contains))
val m = new ConcurrentHashMap[NCResourceType, File]
@@ -164,7 +166,7 @@ object NCExternalConfigManager extends NCService {
)
}
- ackStart()
+ ackStarted()
}
/**
@@ -173,7 +175,8 @@ object NCExternalConfigManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/core/NCNlpCoreManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/core/NCNlpCoreManager.scala
index e9033c3..2bb5710 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/core/NCNlpCoreManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/core/NCNlpCoreManager.scala
@@ -45,6 +45,8 @@ object NCNlpCoreManager extends NCService {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
// NOTE: DO NOT confuse this with token providers.
if (!SUPPORTED_NLP_ENGINES.contains(Config.engine))
throw new NCE(s"Unsupported NLP engine: ${Config.engine}")
@@ -65,7 +67,7 @@ object NCNlpCoreManager extends NCService {
tokenizer.start()
- ackStart()
+ ackStarted()
}
/**
@@ -73,10 +75,12 @@ object NCNlpCoreManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent)
{span ⇒
+ ackStopping()
+
if (tokenizer != null)
tokenizer.stop(span)
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/core/opennlp/NCOpenNlpTokenizer.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/core/opennlp/NCOpenNlpTokenizer.scala
index 7b29938..7efbf1e 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/core/opennlp/NCOpenNlpTokenizer.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/core/opennlp/NCOpenNlpTokenizer.scala
@@ -40,11 +40,13 @@ object NCOpenNlpTokenizer extends NCNlpTokenizer {
* @return
*/
override def start(parent: Span): NCService = startScopedSpan("start",
parent) { _ ⇒
+ ackStarting()
+
tokenizer = managed(NCExternalConfigManager.getStream(OPENNLP,
RESOURCE)) acquireAndGet { in ⇒
new TokenizerME(new TokenizerModel(in))
}
- ackStart()
+ ackStarted()
}
/**
@@ -52,9 +54,11 @@ object NCOpenNlpTokenizer extends NCNlpTokenizer {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("start", parent) {
_ ⇒
+ ackStopping()
+
tokenizer = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/dict/NCDictionaryManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/dict/NCDictionaryManager.scala
index edd5a5c..e2e16e5 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/dict/NCDictionaryManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/dict/NCDictionaryManager.scala
@@ -44,6 +44,8 @@ object NCDictionaryManager extends NCService {
@volatile private var dicts: Map[NCDictionaryType, Set[String]] = _
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent, "dicts" → dictFiles.values.mkString(",")) { _ ⇒
+ ackStarting()
+
dicts = dictFiles.map(p ⇒ {
val wordType = p._1
val path = p._2
@@ -70,7 +72,7 @@ object NCDictionaryManager extends NCService {
// Read summary dictionary.
full = dicts.flatMap(_._2).toSet
- ackStart()
+ ackStarted()
}
/**
@@ -78,7 +80,8 @@ object NCDictionaryManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/numeric/NCNumericManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/numeric/NCNumericManager.scala
index 3abfba1..be9bed3 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/numeric/NCNumericManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/nlp/numeric/NCNumericManager.scala
@@ -123,10 +123,18 @@ object NCNumericManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
-
+
+ /**
+ *
+ * @param parent Optional parent span.
+ * @return
+ */
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
genNums = mapResource("numeric/numeric.txt", "utf-8", logger, {
_.filter(s ⇒ !s.isEmpty && !s.trim.startsWith("#")).
map(_.split("=")).
@@ -266,7 +274,7 @@ object NCNumericManager extends NCService {
unitsStem = hs.map(p ⇒ p.stem → NCNumericUnit(p.name,
p.unitType)).toMap
maxSynWords = (unitsOrigs ++ unitsStem).keySet.map(_.split("
").length).max
- ackStart()
+ ackStarted()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
index 0e9c333..956caf9 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
@@ -45,7 +45,8 @@ object NCCommandManager extends NCService {
* @param parent Optional parent span.
*/
override def start(parent: Span): NCService = startScopedSpan("start",
parent) { _ ⇒
- ackStart()
+ ackStarting()
+ ackStarted()
}
/**
@@ -54,7 +55,8 @@ object NCCommandManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
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 22a23f9..8121f88 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
@@ -50,10 +50,7 @@ object NCConnectionManager extends NCService {
// Internal probe GUID.
@volatile private var probeGuid: String = _
-
- // Internal semaphores.
- private val stopSem = new AtomicInteger(1)
-
+
private final val sysProps: Properties = System.getProperties
private final val localHost: InetAddress = InetAddress.getLocalHost
@volatile private var hwAddrs: String = _
@@ -76,16 +73,6 @@ object NCConnectionManager extends NCService {
}
/**
- *
- */
- protected def isStopping: Boolean = stopSem.intValue() == 0
-
- /**
- *
- */
- protected def setStopping(): Unit = stopSem.set(0)
-
- /**
* Schedules message for sending to the server.
*
* @param msg Message to send to server.
@@ -279,9 +266,10 @@ object NCConnectionManager extends NCService {
require(NCCommandManager.isStarted)
require(NCModelManager.isStarted)
+ ackStarting()
+
probeGuid = U.genGuid()
dnLinkQueue = mutable.Queue.empty[Serializable]
- stopSem.set(1)
val ctrlLatch = new CountDownLatch(1)
@@ -456,17 +444,17 @@ object NCConnectionManager extends NCService {
// Only return when probe successfully connected to the server.
ctrlLatch.await()
- ackStart()
+ ackStarted()
}
/**
*
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- setStopping()
-
+ ackStopping()
+
U.stopThread(ctrlThread)
- ackStop()
+ ackStopped()
}
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversationManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversationManager.scala
index 45812ed..4dbd854 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversationManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversationManager.scala
@@ -40,25 +40,26 @@ object NCConversationManager extends NCService {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
- gc =
- U.mkThread("conversation-manager-gc") { t ⇒
- while (!t.isInterrupted)
- try
- convs.synchronized {
- val sleepTime = clearForTimeout() -
System.currentTimeMillis()
-
- if (sleepTime > 0)
- convs.wait(sleepTime)
- }
- catch {
- case _: InterruptedException ⇒ // No-op.
- case e: Throwable ⇒ logger.error(s"Unexpected error
for: ${t.getName}", e)
+ ackStarting()
+
+ gc = U.mkThread("conversation-manager-gc") { t ⇒
+ while (!t.isInterrupted)
+ try
+ convs.synchronized {
+ val sleepTime = clearForTimeout() -
System.currentTimeMillis()
+
+ if (sleepTime > 0)
+ convs.wait(sleepTime)
}
- }
+ catch {
+ case _: InterruptedException ⇒ // No-op.
+ case e: Throwable ⇒ U.prettyError(logger, s"Unexpected
error for thread: ${t.getName}", e)
+ }
+ }
gc.start()
- ackStart()
+ ackStarted()
}
/**
@@ -66,15 +67,15 @@ object NCConversationManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
U.stopThread(gc)
gc = null
convs.clear()
- logger.info("Conversation manager GC stopped.")
-
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
index 226343f..d9330ac 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
@@ -606,6 +606,8 @@ object NCDeployManager extends NCService with
DecorateAsScala {
*/
@throws[NCE]
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
data = ArrayBuffer.empty[NCProbeModel]
mdlFactory = new NCBasicModelFactory
@@ -645,7 +647,7 @@ object NCDeployManager extends NCService with
DecorateAsScala {
if (U.containsDups(ids))
throw new NCE(s"Duplicate model IDs detected: ${ids.mkString(",
")}")
- ackStart()
+ ackStarted()
}
/**
@@ -655,13 +657,15 @@ object NCDeployManager extends NCService with
DecorateAsScala {
*/
@throws[NCE]
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
if (mdlFactory != null)
mdlFactory.terminate()
if (data != null)
data.clear()
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/dialogflow/NCDialogFlowManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/dialogflow/NCDialogFlowManager.scala
index 1c4f9d4..1705ffb 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/dialogflow/NCDialogFlowManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/dialogflow/NCDialogFlowManager.scala
@@ -40,25 +40,26 @@ object NCDialogFlowManager extends NCService {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
- gc =
- U.mkThread("dialog-flow-manager-gc") { t ⇒
- while (!t.isInterrupted)
- try
- flow.synchronized {
- val sleepTime = clearForTimeout() -
System.currentTimeMillis()
-
- if (sleepTime > 0)
- flow.wait(sleepTime)
- }
- catch {
- case _: InterruptedException ⇒ // No-op.
- case e: Throwable ⇒ logger.error(s"Unexpected error
for: ${t.getName}", e)
+ ackStarting()
+
+ gc = U.mkThread("dialog-flow-manager-gc") { t ⇒
+ while (!t.isInterrupted)
+ try
+ flow.synchronized {
+ val sleepTime = clearForTimeout() -
System.currentTimeMillis()
+
+ if (sleepTime > 0)
+ flow.wait(sleepTime)
}
- }
+ catch {
+ case _: InterruptedException ⇒ // No-op.
+ case e: Throwable ⇒ U.prettyError(logger, s"Unexpected
error for thread: ${t.getName}", e)
+ }
+ }
gc.start()
- ackStart()
+ ackStarted()
}
/**
@@ -66,15 +67,15 @@ object NCDialogFlowManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
U.stopThread(gc)
gc = null
flow.clear()
- logger.info("Dialog flow manager GC stopped.")
-
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/lifecycle/NCLifecycleManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/lifecycle/NCLifecycleManager.scala
index 2829718..0746615 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/lifecycle/NCLifecycleManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/lifecycle/NCLifecycleManager.scala
@@ -40,9 +40,11 @@ object NCLifecycleManager extends NCService {
*/
@throws[NCE]
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
beans = Config.lifecycle.map(U.mkObject(_).asInstanceOf[NCLifecycle])
- ackStart()
+ ackStarted()
}
@@ -52,7 +54,8 @@ object NCLifecycleManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("start", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
index 86bfa47..eb0c7d6 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
@@ -46,6 +46,8 @@ object NCModelManager extends NCService with DecorateAsScala {
*/
@throws[NCE]
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
val tbl = NCAsciiTable("Model", "Intents")
mux.synchronized {
@@ -88,19 +90,21 @@ object NCModelManager extends NCService with
DecorateAsScala {
"deployedModels" → data.values.map(_.model.getId).mkString(",")
)
- ackStart()
+ ackStarted()
}
/**
* Stops this component.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
mux.synchronized {
if (data != null)
data.values.foreach(m ⇒ discardModel(m.model))
}
- ackStop()
+ ackStopped()
}
/**
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 304c026..e52e92c 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
@@ -92,12 +92,14 @@ object NCProbeEnrichmentManager extends NCService with
NCOpenCensusModelStats {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
embeddedCbs = mutable.HashSet.empty[EMBEDDED_CB]
pool = U.mkThreadPool("probe-enrichment")
executor = ExecutionContext.fromExecutor(pool)
- ackStart()
+ ackStarted()
}
/**
@@ -105,6 +107,8 @@ object NCProbeEnrichmentManager extends NCService with
NCOpenCensusModelStats {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
mux.synchronized {
if (embeddedCbs != null)
embeddedCbs.clear()
@@ -114,7 +118,7 @@ object NCProbeEnrichmentManager extends NCService with
NCOpenCensusModelStats {
executor = null
pool = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/dictionary/NCDictionaryEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/dictionary/NCDictionaryEnricher.scala
index 12fe98e..2be0859 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/dictionary/NCDictionaryEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/dictionary/NCDictionaryEnricher.scala
@@ -43,11 +43,13 @@ object NCDictionaryEnricher extends NCProbeEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
swearWords = U.readTextResource(s"badfilter/swear_words.txt", "UTF-8",
logger).
map(NCNlpCoreManager.stem).
toSet
- ackStart()
+ ackStarted()
}
/**
@@ -55,7 +57,8 @@ object NCDictionaryEnricher extends NCProbeEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
@throws[NCE]
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/limit/NCLimitEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/limit/NCLimitEnricher.scala
index 37f040b..2c1f713 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/limit/NCLimitEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/limit/NCLimitEnricher.scala
@@ -149,6 +149,8 @@ object NCLimitEnricher extends NCProbeEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
// Note that single words only supported now in code.
fuzzyNums = stemmatizeWords(Map(
"few" → 3,
@@ -204,7 +206,7 @@ object NCLimitEnricher extends NCProbeEnricher {
techWords = (sortWords.keys ++ topWords ++ postWords ++
fuzzyNums.keySet).toSet
- ackStart()
+ ackStarted()
}
/**
@@ -212,6 +214,8 @@ object NCLimitEnricher extends NCProbeEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
fuzzyNums = null
sortWords = null
topWords = null
@@ -220,7 +224,7 @@ object NCLimitEnricher extends NCProbeEnricher {
limits = null
techWords = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
index a01f229..03594d1 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
@@ -106,7 +106,8 @@ object NCModelEnricher extends NCProbeEnricher with
DecorateAsScala {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
- ackStart()
+ ackStarting()
+ ackStarted()
}
/**
@@ -114,7 +115,8 @@ object NCModelEnricher extends NCProbeEnricher with
DecorateAsScala {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/relation/NCRelationEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/relation/NCRelationEnricher.scala
index 03d0922..ff4475c 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/relation/NCRelationEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/relation/NCRelationEnricher.scala
@@ -68,6 +68,8 @@ object NCRelationEnricher extends NCProbeEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
val macros = NCMacroParser()
FUNCS = {
@@ -113,7 +115,7 @@ object NCRelationEnricher extends NCProbeEnricher {
ALL_FUNC_STEMS = FUNCS.flatMap(_.allStems).toSet
- ackStart()
+ ackStarted()
}
/**
@@ -121,7 +123,8 @@ object NCRelationEnricher extends NCProbeEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/sort/NCSortEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/sort/NCSortEnricher.scala
index 2b2e11d..f549dd5 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/sort/NCSortEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/sort/NCSortEnricher.scala
@@ -513,6 +513,8 @@ object NCSortEnricher extends NCProbeEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
// Single words.
sort = SORT_WORDS.map(NCNlpCoreManager.stem)
@@ -534,7 +536,7 @@ object NCSortEnricher extends NCProbeEnricher {
validate()
- ackStart()
+ ackStarted()
}
/**
@@ -542,12 +544,14 @@ object NCSortEnricher extends NCProbeEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
sort = null
by = null
order = null
stemAnd = null
maskWords = null
- ackStop()
+ ackStopped()
}
}
\ No newline at end of file
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/stopword/NCStopWordEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/stopword/NCStopWordEnricher.scala
index 0daf975..255d91b 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/stopword/NCStopWordEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/stopword/NCStopWordEnricher.scala
@@ -54,6 +54,8 @@ object NCStopWordEnricher extends NCProbeEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
// NOTE: stemmatization is done already by generator.
geoPreWords = U.readTextResource(s"context/geo_pre_words.txt",
"UTF-8", logger).
map(_.split(" ").toSeq).sortBy(-_.size)
@@ -79,7 +81,7 @@ object NCStopWordEnricher extends NCProbeEnricher {
"must be"
).map(NCNlpCoreManager.stem)
- ackStart()
+ ackStarted()
}
/**
@@ -87,11 +89,13 @@ object NCStopWordEnricher extends NCProbeEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
geoPreWords = null
geoKindStops = null
numPrefixStops = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/suspicious/NCSuspiciousNounsEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/suspicious/NCSuspiciousNounsEnricher.scala
index 7f1ae3f..fa9a3a2 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/suspicious/NCSuspiciousNounsEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/suspicious/NCSuspiciousNounsEnricher.scala
@@ -37,7 +37,8 @@ object NCSuspiciousNounsEnricher extends NCProbeEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
- ackStart()
+ ackStarting()
+ ackStarted()
}
/**
@@ -45,7 +46,8 @@ object NCSuspiciousNounsEnricher extends NCProbeEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
@throws[NCE]
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/validate/NCValidateManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/validate/NCValidateManager.scala
index f0893e8..86465f8 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/validate/NCValidateManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/validate/NCValidateManager.scala
@@ -37,12 +37,14 @@ object NCValidateManager extends NCService with LazyLogging
{
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
langFinder = new OptimaizeLangDetector()
// Initialize language finder.
langFinder.loadModels()
- ackStart()
+ ackStarted()
}
/**
@@ -50,7 +52,8 @@ object NCValidateManager extends NCService with LazyLogging {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/company/NCCompanyManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/company/NCCompanyManager.scala
index ff5aaa8..8274de4 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/company/NCCompanyManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/company/NCCompanyManager.scala
@@ -60,7 +60,8 @@ object NCCompanyManager extends NCService with
NCIgniteInstance {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("start", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
@@ -69,6 +70,8 @@ object NCCompanyManager extends NCService with
NCIgniteInstance {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
catching(wrapIE) {
compSeq = NCSql.mkSeq(ignite, "compSeq", "nc_company", "id")
}
@@ -110,7 +113,7 @@ object NCCompanyManager extends NCService with
NCIgniteInstance {
}
}
- ackStart()
+ ackStarted()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/feedback/NCFeedbackManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/feedback/NCFeedbackManager.scala
index a3996e0..ab32649 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/feedback/NCFeedbackManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/feedback/NCFeedbackManager.scala
@@ -37,7 +37,8 @@ object NCFeedbackManager extends NCService with
NCIgniteInstance {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("start", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
@@ -46,11 +47,13 @@ object NCFeedbackManager extends NCService with
NCIgniteInstance {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
catching(wrapIE) {
seq = NCSql.mkSeq(ignite, "feedbackSeq", "feedback", "id")
}
- ackStart()
+ ackStarted()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/geo/NCGeoManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/geo/NCGeoManager.scala
index 2b55cc7..4328a37 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/geo/NCGeoManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/geo/NCGeoManager.scala
@@ -87,9 +87,11 @@ object NCGeoManager extends NCService {
*/
@throws[NCE]
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
model = readAndConstructModel(true)
- ackStart()
+ ackStarted()
}
/**
@@ -97,9 +99,11 @@ object NCGeoManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
model = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/lifecycle/NCServerLifecycleManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/lifecycle/NCServerLifecycleManager.scala
index 6e08e7e..9edc199 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/lifecycle/NCServerLifecycleManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/lifecycle/NCServerLifecycleManager.scala
@@ -51,6 +51,8 @@ object NCServerLifecycleManager extends NCService {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
if (Config.objects.isEmpty)
logger.info("No lifecycle components configured.")
else {
@@ -61,7 +63,7 @@ object NCServerLifecycleManager extends NCService {
tbl.info(logger, Some(s"Configured lifecycle components:"))
}
- ackStart()
+ ackStarted()
}
/**
@@ -69,7 +71,8 @@ object NCServerLifecycleManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala
index 2b51180..2552434 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala
@@ -66,6 +66,8 @@ object NCNlpServerManager extends NCService {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
addTags(span,
"stanfordNer" → isStanfordNer,
"googleNer" → isGoogleNer,
@@ -117,7 +119,7 @@ object NCNlpServerManager extends NCService {
logger.info(s"Enabled built-in NERs:
${Config.tokenProviders.mkString(", ")}")
- ackStart()
+ ackStarted()
}
/**
@@ -125,13 +127,15 @@ object NCNlpServerManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
if (ners != null)
ners.values.foreach(_.stop())
if (parser != null && parser.isStarted)
parser.stop()
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/google/NCGoogleNerEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/google/NCGoogleNerEnricher.scala
index a95033e..894cc45 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/google/NCGoogleNerEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/google/NCGoogleNerEnricher.scala
@@ -38,6 +38,8 @@ object NCGoogleNerEnricher extends NCService with
NCNlpNerEnricher with NCIgnite
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
try {
srv = LanguageServiceClient.create()
@@ -58,7 +60,7 @@ object NCGoogleNerEnricher extends NCService with
NCNlpNerEnricher with NCIgnite
)
}
- ackStart()
+ ackStarted()
}
/**
@@ -66,10 +68,12 @@ object NCGoogleNerEnricher extends NCService with
NCNlpNerEnricher with NCIgnite
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
if (srv != null)
srv.close()
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpNerEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpNerEnricher.scala
index f0b14a3..f2dc816 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpNerEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpNerEnricher.scala
@@ -45,6 +45,8 @@ object NCOpenNlpNerEnricher extends NCService with
NCNlpNerEnricher with NCIgnit
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
require(NCOpenNlpTokenizer.isStarted)
val m = collection.mutable.HashMap.empty[NameFinderME, String]
@@ -76,7 +78,7 @@ object NCOpenNlpNerEnricher extends NCService with
NCNlpNerEnricher with NCIgnit
cache = ignite.cache[String, Array[String]]("opennlp-cache")
}
- ackStart()
+ ackStarted()
}
/**
@@ -84,9 +86,11 @@ object NCOpenNlpNerEnricher extends NCService with
NCNlpNerEnricher with NCIgnit
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
cache = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpParser.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpParser.scala
index fc9b624..62b8374 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpParser.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpParser.scala
@@ -49,6 +49,8 @@ object NCOpenNlpParser extends NCService with NCNlpParser
with NCIgniteInstance
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
require(NCOpenNlpTokenizer.isStarted)
+ ackStarting()
+
U.executeParallel(
() ⇒ {
tagger =
@@ -68,7 +70,7 @@ object NCOpenNlpParser extends NCService with NCNlpParser
with NCIgniteInstance
cache = ignite.cache[String, Array[String]]("opennlp-cache")
}
- ackStart()
+ ackStarted()
}
/**
@@ -76,9 +78,11 @@ object NCOpenNlpParser extends NCService with NCNlpParser
with NCIgniteInstance
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
cache = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/spacy/NCSpaCyNerEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/spacy/NCSpaCyNerEnricher.scala
index bb4a181..70060b6 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/spacy/NCSpaCyNerEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/spacy/NCSpaCyNerEnricher.scala
@@ -75,6 +75,8 @@ object NCSpaCyNerEnricher extends NCService with
NCNlpNerEnricher with NCIgniteI
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
url = Config.proxyUrl
if (url.last == '/')
@@ -101,7 +103,7 @@ object NCSpaCyNerEnricher extends NCService with
NCNlpNerEnricher with NCIgniteI
logger.info(s"spaCy proxy connected: $url")
- ackStart()
+ ackStarted()
}
/**
@@ -109,7 +111,8 @@ object NCSpaCyNerEnricher extends NCService with
NCNlpNerEnricher with NCIgniteI
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
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 4d3d6b4..94e8468 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
@@ -255,6 +255,8 @@ object NCServerEnrichmentManager extends NCService with
NCIgniteInstance {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
catching(wrapIE) {
cache = ignite.cache[String, Holder]("sentence-cache")
}
@@ -276,7 +278,7 @@ object NCServerEnrichmentManager extends NCService with
NCIgniteInstance {
ners = NCNlpServerManager.getNers
supportedProviders = ners.keySet ++ (if (Config.isBuiltInEnrichers)
Set("nlpcraft") else Set.empty)
- ackStart()
+ ackStarted()
}
/**
@@ -284,6 +286,8 @@ object NCServerEnrichmentManager extends NCService with
NCIgniteInstance {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { span ⇒
+ ackStopping()
+
if (Config.isBuiltInEnrichers) {
NCCoordinatesEnricher.stop(span)
NCGeoEnricher.stop(span)
@@ -297,7 +301,7 @@ object NCServerEnrichmentManager extends NCService with
NCIgniteInstance {
cache = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/basenlp/NCBaseNlpEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/basenlp/NCBaseNlpEnricher.scala
index d27531d..cc64123 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/basenlp/NCBaseNlpEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/basenlp/NCBaseNlpEnricher.scala
@@ -78,9 +78,11 @@ object NCBaseNlpEnricher extends NCServerEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
parser = NCNlpServerManager.getParser
- ackStart()
+ ackStarted()
}
/**
@@ -88,7 +90,8 @@ object NCBaseNlpEnricher extends NCServerEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/coordinate/NCCoordinatesEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/coordinate/NCCoordinatesEnricher.scala
index e48f30a..2543757 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/coordinate/NCCoordinatesEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/coordinate/NCCoordinatesEnricher.scala
@@ -57,10 +57,12 @@ object NCCoordinatesEnricher extends NCServerEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
latStems = Seq("lat", "latitude").map(NCNlpCoreManager.stem)
lonStems = Seq("lon", "longitude").map(NCNlpCoreManager.stem)
- ackStart()
+ ackStarted()
}
/**
@@ -68,10 +70,12 @@ object NCCoordinatesEnricher extends NCServerEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
latStems = null
lonStems = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/date/NCDateEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/date/NCDateEnricher.scala
index 0fc3125..eb002a5 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/date/NCDateEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/date/NCDateEnricher.scala
@@ -117,7 +117,8 @@ object NCDateEnricher extends NCServerEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
@@ -126,6 +127,8 @@ object NCDateEnricher extends NCServerEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
def read(res: String): LHM_SS = {
startScopedSpan("read", span, "res" → res) { _ ⇒
val m: LHM_SS = new LHM_SS()
@@ -160,7 +163,7 @@ object NCDateEnricher extends NCServerEnricher {
cacheParts = p1 ++ p2
- ackStart()
+ ackStarted()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/geo/NCGeoEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/geo/NCGeoEnricher.scala
index 9c9dc9c..37bf87f 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/geo/NCGeoEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/geo/NCGeoEnricher.scala
@@ -81,12 +81,14 @@ object NCGeoEnricher extends NCServerEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
commons = null
topUsa = null
topWorld = null
locations = null
- ackStop()
+ ackStopped()
}
/**
@@ -95,6 +97,8 @@ object NCGeoEnricher extends NCServerEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
locations = NCGeoManager.getModel.synonyms
// GEO names matched with common english words and user defined
exception GEO names.
@@ -126,7 +130,7 @@ object NCGeoEnricher extends NCServerEnricher {
topUsa = readCities(US_TOP_PATH).map(city ⇒ glue(city.name,
city.region)).toSet
topWorld = readCities(WORLD_TOP_PATH).map(city ⇒ glue(city.name,
city.region)).toSet
- ackStart()
+ ackStarted()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/numeric/NCNumericEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/numeric/NCNumericEnricher.scala
index 25a4fb8..a884c32 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/numeric/NCNumericEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/numeric/NCNumericEnricher.scala
@@ -179,7 +179,8 @@ object NCNumericEnricher extends NCServerEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
- ackStart()
+ ackStarting()
+ ackStarted()
}
/**
@@ -187,7 +188,8 @@ object NCNumericEnricher extends NCServerEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
private def mkMap(seq: Seq[String], c: T): Map[String, P] =
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/quote/NCQuoteEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/quote/NCQuoteEnricher.scala
index c6a6dad..d323785 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/quote/NCQuoteEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/quote/NCQuoteEnricher.scala
@@ -36,7 +36,8 @@ object NCQuoteEnricher extends NCServerEnricher {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
- ackStart()
+ ackStarting()
+ ackStarted()
}
/**
@@ -44,7 +45,8 @@ object NCQuoteEnricher extends NCServerEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/stopword/NCStopWordEnricher.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/stopword/NCStopWordEnricher.scala
index 6d174e9..d8a1353 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/stopword/NCStopWordEnricher.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/stopword/NCStopWordEnricher.scala
@@ -653,6 +653,8 @@ object NCStopWordEnricher extends NCServerEnricher {
*/
@throws[NCE]
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
percents = Set(
"%",
"pct",
@@ -680,7 +682,7 @@ object NCStopWordEnricher extends NCServerEnricher {
stopWords = m(false)
exceptions = m(true)
- ackStart()
+ ackStarted()
}
/**
@@ -688,6 +690,7 @@ object NCStopWordEnricher extends NCServerEnricher {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
}
\ No newline at end of file
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/preproc/NCPreProcessManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/preproc/NCPreProcessManager.scala
index b898f87..1076f3d 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/preproc/NCPreProcessManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/preproc/NCPreProcessManager.scala
@@ -88,7 +88,8 @@ object NCPreProcessManager extends NCService {
* @return
*/
override def start(parent: Span): NCService = startScopedSpan("start",
parent) { _ ⇒
- ackStart()
+ ackStarting()
+ ackStarted()
}
/**
@@ -96,7 +97,8 @@ object NCPreProcessManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/spell/NCSpellCheckManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/spell/NCSpellCheckManager.scala
index 437f568..8ad7b73 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/spell/NCSpellCheckManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/spell/NCSpellCheckManager.scala
@@ -50,6 +50,8 @@ object NCSpellCheckManager extends NCService {
* @return
*/
override def start(parent: Span): NCService = startScopedSpan("start",
parent) { _ ⇒
+ ackStarting()
+
dict = U.extractYamlString(
NCExternalConfigManager.getContent(SPELL, RESOURCE),
RESOURCE,
@@ -59,7 +61,7 @@ object NCSpellCheckManager extends NCService {
logger.debug(s"Spell checker dictionary loaded: ${dict.size} entries")
- ackStart()
+ ackStarted()
}
/**
@@ -67,9 +69,11 @@ object NCSpellCheckManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
+ ackStopping()
+
dict = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/wordnet/NCWordNetManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/wordnet/NCWordNetManager.scala
index 3cefbc3..bc25652 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/wordnet/NCWordNetManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/wordnet/NCWordNetManager.scala
@@ -73,10 +73,12 @@ object NCWordNetManager extends NCService {
*/
@throws[NCE]
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
dic = Dictionary.getDefaultResourceInstance
morph = dic.getMorphologicalProcessor
- ackStart()
+ ackStarted()
}
/**
@@ -84,7 +86,8 @@ object NCWordNetManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
index f939248..0e007b2 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
@@ -159,8 +159,6 @@ object NCProbeManager extends NCService {
// All probes pending complete handshake keyed by probe key.
@volatile private var pending: mutable.Map[ProbeKey, ProbeHolder] = _
- @volatile private var isStopping: AtomicBoolean = _
-
@volatile private var modelsInfo: ConcurrentHashMap[String,
Promise[java.util.Map[String, AnyRef]]] = _
/**
@@ -169,6 +167,8 @@ object NCProbeManager extends NCService {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
probes = mutable.HashMap.empty[ProbeKey, ProbeHolder]
mdls = mutable.HashMap.empty[String, NCProbeModelMdo]
pending = mutable.HashMap.empty[ProbeKey, ProbeHolder]
@@ -180,8 +180,6 @@ object NCProbeManager extends NCService {
"uplink" → s"$upHost:$upPort",
"downlink" → s"$dnHost:$dnPort"
)
-
- isStopping = new AtomicBoolean(false)
modelsInfo = new ConcurrentHashMap[String,
Promise[java.util.Map[String, AnyRef]]]()
@@ -206,7 +204,7 @@ object NCProbeManager extends NCService {
pingSrv.start()
- ackStart()
+ ackStarted()
}
/**
@@ -214,7 +212,7 @@ object NCProbeManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- isStopping = new AtomicBoolean(true)
+ ackStopping()
U.stopThread(pingSrv)
U.stopThread(dnSrv)
@@ -222,7 +220,7 @@ object NCProbeManager extends NCService {
modelsInfo = null
- ackStop()
+ ackStopped()
}
/**
@@ -402,7 +400,7 @@ object NCProbeManager extends NCService {
}
catch {
case e: Exception ⇒
- if (!isStopping.get) {
+ if (!isStopping) {
// Release socket asap.
U.close(srv)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/proclog/NCProcessLogManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/proclog/NCProcessLogManager.scala
index 067b890..f7958b9 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/proclog/NCProcessLogManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/proclog/NCProcessLogManager.scala
@@ -42,13 +42,15 @@ object NCProcessLogManager extends NCService with
NCIgniteInstance {
* @return
*/
override def start(parent: Span): NCService = startScopedSpan("start",
parent) { _ ⇒
+ ackStarting()
+
catching(wrapIE) {
logSeq = NCSql.mkSeq(ignite, "logSeq", "proc_log", "id")
logLock = ignite.semaphore("logSemaphore", 1, true, true)
}
- ackStart()
+ ackStarted()
}
/**
@@ -56,7 +58,8 @@ object NCProcessLogManager extends NCService with
NCIgniteInstance {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
index 213b541..cbb2415 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
@@ -59,6 +59,8 @@ object NCQueryManager extends NCService with NCIgniteInstance
with NCOpenCensusS
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
asyncAsks = new ConcurrentHashMap[String/*Server request ID*/,
Promise[NCQueryStateMdo]]()
catching(wrapIE) {
@@ -91,7 +93,7 @@ object NCQueryManager extends NCService with NCIgniteInstance
with NCOpenCensusS
require(cache != null)
- ackStart()
+ ackStarted()
}
/**
@@ -99,7 +101,8 @@ object NCQueryManager extends NCService with
NCIgniteInstance with NCOpenCensusS
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCRestManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCRestManager.scala
index 6fc2a3e..7ad716b 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCRestManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCRestManager.scala
@@ -73,6 +73,8 @@ object NCRestManager extends NCService {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
val url = s"${Config.host}:${Config.port}"
val api: NCRestApi = U.mkObject(Config.apiImpl)
@@ -88,7 +90,7 @@ object NCRestManager extends NCService {
case Failure(_) ⇒ logger.info(s"REST server failed to start on
'$url'.")
}
- ackStart()
+ ackStarted()
}
/**
@@ -96,9 +98,11 @@ object NCRestManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
if (bindFut != null)
bindFut.flatMap(_.unbind()).onComplete(_ ⇒ SYSTEM.terminate())
- ackStop()
+ ackStopped()
}
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sql/NCSqlManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sql/NCSqlManager.scala
index dea9c5d..f8ea0f2 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sql/NCSqlManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sql/NCSqlManager.scala
@@ -59,6 +59,8 @@ object NCSqlManager extends NCService with NCIgniteInstance {
*/
@throws[NCE]
override def start(parent: Span): NCService = startScopedSpan("start",
parent) { span ⇒
+ ackStarting()
+
addTags(span, "isIgniteDb" → NCSql.isIgniteDb)
if (NCSql.isIgniteDb)
@@ -68,7 +70,7 @@ object NCSqlManager extends NCService with NCIgniteInstance {
usersPropsSeq = NCSql.mkSeq(ignite, "usersPropsSeq",
"nc_user_property", "id")
}
- ackStart()
+ ackStarted()
}
/**
@@ -76,7 +78,8 @@ object NCSqlManager extends NCService with NCIgniteInstance {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
- ackStop()
+ ackStopping()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
index 930e3ac..f17892a 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
@@ -118,10 +118,12 @@ object NCSuggestSynonymManager extends NCService {
* @return
*/
override def start(parent: Span): NCService = startScopedSpan("start",
parent) { _ ⇒
+ ackStarting()
+
pool = Executors.newCachedThreadPool()
executor = ExecutionContext.fromExecutor(pool)
- ackStart()
+ ackStarted()
}
/**
@@ -129,11 +131,13 @@ object NCSuggestSynonymManager extends NCService {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
+ ackStopping()
+
U.shutdownPools(pool)
pool = null
executor = null
- ackStop()
+ ackStopped()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/tx/NCTxManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/tx/NCTxManager.scala
index 0ce81f5..3daf0fe 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/tx/NCTxManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/tx/NCTxManager.scala
@@ -51,11 +51,13 @@ object NCTxManager extends NCService with NCIgniteInstance {
* @param parent Optional parent span.
*/
override def stop(parent: Span = null): Unit = startScopedSpan("stop",
parent) { _ ⇒
+ ackStopping()
+
// Close all still attached JDBC connections on stop.
if (cons != null)
cons.values.foreach(U.close)
- ackStop()
+ ackStopped()
}
/**
@@ -64,11 +66,13 @@ object NCTxManager extends NCService with NCIgniteInstance {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { _ ⇒
+ ackStarting()
+
cons = mutable.HashMap.empty[IgniteUuid, Connection]
itx = ignite.transactions()
- ackStart()
+ ackStarted()
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/user/NCUserManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/user/NCUserManager.scala
index c984e36..b0ea704 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/user/NCUserManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/user/NCUserManager.scala
@@ -99,6 +99,8 @@ object NCUserManager extends NCService with NCIgniteInstance {
* @param parent Optional parent span.
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) {
_ ⇒
+ ackStopping()
+
if (scanner != null)
scanner.cancel()
@@ -107,7 +109,7 @@ object NCUserManager extends NCService with
NCIgniteInstance {
tokenSigninCache = null
idSigninCache = null
- ackStop()
+ ackStopped()
}
/**
@@ -116,6 +118,8 @@ object NCUserManager extends NCService with
NCIgniteInstance {
* @return
*/
override def start(parent: Span = null): NCService =
startScopedSpan("start", parent) { span ⇒
+ ackStarting()
+
addTags(
span,
"pwdPoolBlowup" → Config.pwdPoolBlowup,
@@ -179,7 +183,7 @@ object NCUserManager extends NCService with
NCIgniteInstance {
logger.info(s"Access tokens will be scanned for timeout every
${Config.timeoutScannerFreqMins}m.")
logger.info(s"Access tokens inactive for >=
${Config.accessTokenExpireTimeoutMins}m will be invalidated.")
- ackStart()
+ ackStarted()
}
/**