Hi,
As I’m doing my performance test in Canton.
My participant node has started to generate errors, you can find the log below:
WARN c.d.c.r.DbStorageSingle:participant=PARTICIPANT_NODE_A tid:8c4718b4e90dd1e2a4fddcab13bcce27 - DB_STORAGE_DEGRADATION(13,8c4718b4): A database task was rejected from the database task queue.
The full error message from the task queue is:
java.util.concurrent.RejectedExecutionException: Task slick.basic.BasicBackend$DatabaseDef$$anon$3@362f47e6 rejected from slick.util.AsyncExecutorWithMetrics$$anon$1@6f064403[Running, pool size = 50, active threads = 50, queued tasks = 1000, completed tasks = 128424] err-context:{messageFromSlick=java.util.concurrent.RejectedExecutionException: Task slick.basic.BasicBackend$DatabaseDef$$anon$3@362f47e6 rejected from slick.util.AsyncExecutorWithMetrics$$anon$1@6f064403[Running, pool size = 50, active threads = 50, queued tasks = 1000, completed tasks = 128424], location=RetryUtil.scala:99}
WARN c.d.c.r.DbStorageSingle:participant=PARTICIPANT_NODE_A tid:62c7b7f842b2d7576df0e0e0a13b7893 - Now retrying operation 'com.digitalasset.canton.participant.store.db.DbContractStore.storeElements'.
WARN c.d.c.r.DbStorageSingle:participant=PARTICIPANT_NODE_A tid:62c7b7f842b2d7576df0e0e0a13b7893 - DB_STORAGE_DEGRADATION(13,62c7b7f8): A database task was rejected from the database task queue.
The full error message from the task queue is:
java.util.concurrent.RejectedExecutionException: Task slick.basic.BasicBackend$DatabaseDef$$anon$3@5ec4a351 rejected from slick.util.AsyncExecutorWithMetrics$$anon$1@6f064403[Running, pool size = 50, active threads = 50, queued tasks = 1000, completed tasks = 128424] err-context:{messageFromSlick=java.util.concurrent.RejectedExecutionException: Task slick.basic.BasicBackend$DatabaseDef$$anon$3@5ec4a351 rejected from slick.util.AsyncExecutorWithMetrics$$anon$1@6f064403[Running, pool size = 50, active threads = 50, queued tasks = 1000, completed tasks = 128424], location=RetryUtil.scala:99}
WARN c.d.c.r.DbStorageSingle:participant=PARTICIPANT_NODE_A tid:62c7b7f842b2d7576df0e0e0a13b7893 - The operation 'com.digitalasset.canton.participant.store.db.DbContractStore.storeElements' has failed with an exception. Retrying after 2813 milliseconds.
java.util.concurrent.RejectedExecutionException: Task slick.basic.BasicBackend$DatabaseDef$$anon$3@5ec4a351 rejected from slick.util.AsyncExecutorWithMetrics$$anon$1@6f064403[Running, pool size = 50, active threads = 50, queued tasks = 1000, completed tasks = 128424]
at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2055)
at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
at java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1355)
at slick.util.AsyncExecutorWithMetrics$$anon$1.execute(AsyncExecutorWithMetrics.scala:246)
at slick.util.AsyncExecutorWithMetrics$$anon$3.execute(AsyncExecutorWithMetrics.scala:299)
at slick.basic.BasicBackend$DatabaseDef.runSynchronousDatabaseAction(BasicBackend.scala:265)
at slick.basic.BasicBackend$DatabaseDef.runSynchronousDatabaseAction$(BasicBackend.scala:263)
at slick.jdbc.JdbcBackend$DatabaseDef.runSynchronousDatabaseAction(JdbcBackend.scala:37)
at slick.basic.BasicBackend$DatabaseDef.slick$basic$BasicBackend$DatabaseDef$$runInContextInline(BasicBackend.scala:242)
at slick.basic.BasicBackend$DatabaseDef.runInContextSafe(BasicBackend.scala:148)
at slick.basic.BasicBackend$DatabaseDef.runInContext(BasicBackend.scala:142)
at slick.basic.BasicBackend$DatabaseDef.runInContext$(BasicBackend.scala:141)
at slick.jdbc.JdbcBackend$DatabaseDef.runInContext(JdbcBackend.scala:37)
at slick.basic.BasicBackend$DatabaseDef.runInternal(BasicBackend.scala:77)
at slick.basic.BasicBackend$DatabaseDef.runInternal$(BasicBackend.scala:76)
at slick.jdbc.JdbcBackend$DatabaseDef.runInternal(JdbcBackend.scala:37)
at slick.basic.BasicBackend$DatabaseDef.run(BasicBackend.scala:74)
at slick.basic.BasicBackend$DatabaseDef.run$(BasicBackend.scala:74)
at slick.jdbc.JdbcBackend$DatabaseDef.run(JdbcBackend.scala:37)
at com.digitalasset.canton.resource.DbStorageSingle.$anonfun$runWrite$1(DbStorageSingle.scala:41)
at scala.util.Try$.apply(Try.scala:210)
at com.digitalasset.canton.util.retry.RetryWithDelay.$anonfun$retryWithDelay$1(Policy.scala:155)
at com.digitalasset.canton.util.LoggerUtil$.logOnThrow(LoggerUtil.scala:80)
at com.digitalasset.canton.util.retry.RetryWithDelay.run$1(Policy.scala:150)
at com.digitalasset.canton.util.retry.RetryWithDelay.$anonfun$retryWithDelay$9(Policy.scala:233)
at com.digitalasset.canton.util.LoggerUtil$.logOnThrow(LoggerUtil.scala:80)
at com.digitalasset.canton.util.retry.RetryWithDelay.$anonfun$retryWithDelay$8(Policy.scala:220)
at scala.util.Try$.apply(Try.scala:210)
at com.digitalasset.canton.lifecycle.FlagCloseable.internalPerformUnlessClosingF(FlagCloseable.scala:123)
at com.digitalasset.canton.lifecycle.FlagCloseable.internalPerformUnlessClosingF$(FlagCloseable.scala:116)
at com.digitalasset.canton.resource.DbStorageSingle.internalPerformUnlessClosingF(DbStorageSingle.scala:18)
at com.digitalasset.canton.lifecycle.FlagCloseable.performUnlessClosingF(FlagCloseable.scala:114)
at com.digitalasset.canton.lifecycle.FlagCloseable.performUnlessClosingF$(FlagCloseable.scala:111)
at com.digitalasset.canton.resource.DbStorageSingle.performUnlessClosingF(DbStorageSingle.scala:18)
at com.digitalasset.canton.util.retry.RetryWithDelay.$anonfun$retryWithDelay$7(Policy.scala:241)
at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:484)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
[...]
java.util.concurrent.RejectedExecutionException: Task slick.basic.BasicBackend$DatabaseDef$$anon$3@27dc6ca6 rejected from slick.util.AsyncExecutorWithMetrics$$anon$1@6f064403[Running, pool size = 50, active threads = 50, queued tasks = 1000, completed tasks = 128424]
err-context:{messageFromSlick=java.util.concurrent.RejectedExecutionException: Task slick.basic.BasicBackend$DatabaseDef$$anon$3@27dc6ca6 rejected from slick.util.AsyncExecutorWithMetrics$$anon$1@6f064403[Running, pool size = 50, active threads = 50, queued tasks = 1000, completed tasks = 128424], location=RetryUtil.scala:99}
[...]
WARN c.d.c.r.DbStorageSingle:participant=PARTICIPANT_NODE_A tid:990c167a76d0bcc45c141f0cbb568f2a - Now retrying operation 'com.digitalasset.canton.participant.store.db.DbContractStore.storeElements'.
WARN c.d.c.r.DbStorageSingle:participant=PARTICIPANT_NODE_A tid:ec1500d754bc81dccc14c2feb07793f7 - Now retrying operation 'com.digitalasset.canton.participant.store.db.DbContractStore.storeElements'.
What could be the cause of this error?
Cheers,
Jean-Paul