Improving debug logging.
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 742ace8..6f6c0f6 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
@@ -26,7 +26,8 @@
import java.sql.Timestamp
import java.text.{DecimalFormat, DecimalFormatSymbols}
import java.time.{Instant, ZoneId, ZonedDateTime}
-import java.util.concurrent.{ExecutorService, Executors, LinkedBlockingQueue, RejectedExecutionHandler, ThreadPoolExecutor, TimeUnit}
+import java.util.concurrent.atomic.AtomicInteger
+import java.util.concurrent.{ExecutorService, LinkedBlockingQueue, RejectedExecutionHandler, ThreadFactory, ThreadPoolExecutor, TimeUnit}
import java.util.jar.JarFile
import java.util.stream.Collectors
import java.util.zip.{ZipInputStream, GZIPInputStream ⇒ GIS, GZIPOutputStream ⇒ GOS}
@@ -1446,17 +1447,23 @@
/**
*
+ * @param namePrefix
* @param threadNum
* @return
*/
- def mkThreadPool(threadNum: Int = Runtime.getRuntime.availableProcessors()): ThreadPoolExecutor =
+ def mkThreadPool(namePrefix: String, threadNum: Int = Runtime.getRuntime.availableProcessors() * 8): ThreadPoolExecutor =
new ThreadPoolExecutor(
1,
threadNum,
0L,
TimeUnit.MILLISECONDS,
new LinkedBlockingQueue[Runnable],
- Executors.defaultThreadFactory,
+ new ThreadFactory {
+ val thNum = new AtomicInteger(1)
+
+ override def newThread(r: Runnable): Thread =
+ new Thread(r, s"pool-$namePrefix-thread-${thNum.getAndIncrement()}");
+ },
new RejectedExecutionHandler() {
// Ignore rejections.
override def rejectedExecution(r: Runnable, exec: ThreadPoolExecutor): Unit = ()
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/misc/darksky/DarkSkyService.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/misc/darksky/DarkSkyService.java
index ed53b19..9579692 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/misc/darksky/DarkSkyService.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/misc/darksky/DarkSkyService.java
@@ -71,7 +71,10 @@
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss").withZone(ZoneId.systemDefault());
// Can be configured.
- private final ExecutorService pool = NCUtils.mkThreadPool(Runtime.getRuntime().availableProcessors());
+ private final ExecutorService pool = NCUtils.mkThreadPool(
+ "darksky",
+ Runtime.getRuntime().availableProcessors() * 8
+ );
/**
*
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 28cb6a8..a51e051 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
@@ -94,8 +94,7 @@
override def start(parent: Span = null): NCService = startScopedSpan("start", parent) { _ ⇒
embeddedCbs = mutable.HashSet.empty[EMBEDDED_CB]
- pool = U.mkThreadPool()
-
+ pool = U.mkThreadPool("probe-enrichment")
executor = ExecutionContext.fromExecutor(pool)
ackStart()
@@ -114,9 +113,7 @@
}
U.shutdownPools(pool)
-
executor = null
-
pool = null
ackStop()
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 2d29192..ed40e1d 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
@@ -130,7 +130,6 @@
*/
override def stop(parent: Span): Unit = startScopedSpan("stop", parent) { _ ⇒
U.shutdownPools(pool)
-
pool = null
executor = null