Debugging test instabilities.
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 571c501..a3a5e12 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/NCService.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/NCService.scala
@@ -71,7 +71,7 @@
* Acks started service. Should be called at the end of the `start()` method.
*/
protected def ackStart(): NCService = {
- require(!started)
+ assert(!started, s"Service '$name' is already started.")
started = true
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 f400eba..126cca3 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
@@ -172,7 +172,7 @@
*
* @param parent Optional parent span.
*/
- override def stop(parent: Span): Unit = startScopedSpan("atop", parent) { _ ⇒
+ override def stop(parent: Span): Unit = startScopedSpan("stop", parent) { _ ⇒
ackStop()
}
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 782760c..742ace8 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
@@ -1676,12 +1676,13 @@
* @param bodies
* @param ec
*/
- def executeParallel(bodies: (() ⇒ Any)*)(implicit ec: ExecutionContext = global): Unit =
+ def executeParallel(bodies: (() ⇒ Any)*)(implicit ec: ExecutionContext = global): Unit = {
bodies.map(body ⇒ {
Future {
body()
}(ec)
- }).foreach(f ⇒ Await.result(f, Duration.Inf))
+ }).foreach(Await.result(_, Duration.Inf))
+ }
/**
*
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/alarm/AlarmModel.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/alarm/AlarmModel.java
index 7ccc9ef..084586a 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/alarm/AlarmModel.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/alarm/AlarmModel.java
@@ -57,7 +57,7 @@
"Buzz me in an hour and 15mins",
"Set my alarm for 30s"
})
- private NCResult onMatch(
+ NCResult onMatch(
NCIntentMatch ctx,
@NCIntentTerm("nums") List<NCToken> numToks
) {
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
index 2b75f68..5596b0a 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
@@ -67,6 +67,9 @@
*/
public static void main(String[] args) throws Exception {
NCTestAutoModelValidatorImpl.isValid();
+
+ // TODO: uncomment once the hanging on exit is fixed.
+ // System.exit(NCTestAutoModelValidatorImpl.isValid() ? 0 : 1);
}
/**
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCBasicRestApi.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCBasicRestApi.scala
index 6456738..3ea1790 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCBasicRestApi.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCBasicRestApi.scala
@@ -81,6 +81,7 @@
case class EmptyField(fn: String) extends InvalidArguments(s"API field `$fn` value cannot be empty.")
case class InvalidExternalUserId(usrExtId: String) extends InvalidArguments(s"External user ID is invalid or unknown: $usrExtId")
case class InvalidUserId(id: Long) extends InvalidArguments(s"User ID is invalid or unknown: $id")
+ case class InvalidModelId(id: String) extends InvalidArguments(s"Model ID is invalid or unknown: $id")
case class AskReqHolder(
usrId: Long,
@@ -323,7 +324,7 @@
@throws[InvalidField]
protected def checkModelId(mdlId: String, compId: Long): Unit =
if (!NCProbeManager.existsForModel(compId, mdlId))
- throw InvalidField("mdlId")
+ throw InvalidModelId("mdlId")
/**
* Checks length of field value.