[英]How to make Vert.x and Apache Ignite Client work together?
我部署了Apache Ignite集群,并且需要对Vert.x后端的缓存执行不同的操作。
我使用Apache Ignite客户端(而非瘦客户端)成功连接到集群。 Apache Ingite客户端在Vert.x垂直版本内运行:
vertx.deployVerticle(new IgniteVerticle(),
new DeploymentOptions().setInstances(1).setWorker(true),
apacheIgniteVerticleDeployment.completer());
但是过了一段时间,我开始收到以下消息:
SEVERE: Blocked system-critical thread has been detected.
This can lead to cluster-wide undefined behaviour [threadName=tcp-comm-worker, blockedFor=28s]
SEVERE: Critical system error detected. Will be handled accordingly to configured handler
[hnd=NoOpFailureHandler [super=AbstractFailureHandler [ignoredFailureTypes=[SYSTEM_WORKER_BLOCKED]]], failureCtx=FailureContext [type=SYSTEM_WORKER_BLOCKED,
err=class o.a.i.IgniteException: GridWorker [name=tcp-comm-worker, igniteInstanceName=null, finished=false, heartbeatTs=1567112815022]]]
class org.apache.ignite.IgniteException: GridWorker [name=tcp-comm-worker, igniteInstanceName=null, finished=false, heartbeatTs=1567112815022]
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance$2.apply(IgnitionEx.java:1831) at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance$2.apply(IgnitionEx.java:1826)
at org.apache.ignite.internal.worker.WorkersRegistry.onIdle(WorkersRegistry.java:233)
at org.apache.ignite.internal.util.worker.GridWorker.onIdle(GridWorker.java:297)
at org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor$TimeoutWorker.body(GridTimeoutProcessor.java:221)
at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at java.lang.Thread.run(Thread.java:748)
这样的消息大约每10秒出现一次。 我猜想这可能与Vert.x的工作方式有关。
这些例外的原因可能是什么?
您可以尝试在IgniteConfiguration
上增加systemWorkerBlockedTimeout
以使此消息消失。 在文档中查看更多信息: https : //apacheignite.readme.io/docs/critical-failures-handling
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.