java - 如何修复 apache ignite 错误“ignoredFailureTypes=[SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]”?
问题描述
我正在我的 Web 应用程序中使用 apache ignite 设置内存缓存存储。我在哪里启动 ignite 节点并将一些数据存储在我的应用程序服务器启动时的 ignite 缓存存储中。这样做时,我可以启动 ignite 节点,但我的应用服务器在下面的代码行中陷入启动模式。
igniteCache.getCache("some_string");
- 试图增加失败超时。
增加内存后再次尝试。
IgniteConfiguration igniteConfig = new IgniteConfiguration(); igniteConfig.setSystemWorkerBlockedTimeout(60 * 60 * 1000); StopNodeFailureHandler handler = new org.apache.ignite.failure.StopNodeFailureHandler(); handler.setIgnoredFailureTypes(new HashSet()); igniteConfig.setFailureHandler(handler); //implementing multiple cache stores List<CacheConfiguration> list = new ArrayList<CacheConfiguration>(); CacheConfiguration<String, Object> cacheConfig0 = new CacheConfiguration<String, Object>(name); cacheConfig.setCacheMode(CacheMode.PARTITIONED); list.add(cacheConfig0); CacheConfiguration<String, Object> cacheConfig1 = new CacheConfiguration<String, Object>(name); cacheConfig.setCacheMode(CacheMode.PARTITIONED); list.add(cacheConfig1); //here starting the ignite node ignite = Ignition.start(igniteConfig); caches = ignite.getOrCreateCaches(list);
以下是我在启动服务器时遇到的异常
*[15:08:12] Topology snapshot [ver=1, locNode=51a25b22, servers=1, clients=0, state=ACTIVE, CPUs=4, offheap=3.0GB, heap=2.5GB]
<Jul 27, 2019 3:08:35,634 PM IST> <Error> <org.apache.ignite.internal.util.typedef.G> <BEA-000000> <Blocked system-critical thread has been detected. This can lead to cluster-wide undefined behaviour [threadName=grid-timeout-worker, blockedFor=13s]>
<Jul 27, 2019 3:08:36,625 PM IST> <Warning> <org.apache.ignite.internal.util.typedef.G> <BEA-000000> <Thread [name="grid-timeout-worker-#23", id=219, state=RUNNABLE, blockCnt=1, waitCnt=43]
>
<Jul 27, 2019 3:08:49,975 PM IST> <Error> <> <BEA-000000> <Critical system error detected. Will be handled accordingly to configured handler [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=[SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=SYSTEM_WORKER_BLOCKED, err=class o.a.i.IgniteException: GridWorker [name=grid-timeout-worker, igniteInstanceName=null, finished=false, heartbeatTs=1564220302360]]]
class org.apache.ignite.IgniteException: GridWorker [name=grid-timeout-worker, igniteInstanceName=null, finished=false, heartbeatTs=1564220302360]
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.spi.discovery.tcp.ServerImpl$RingMessageWorker.lambda$new$0(ServerImpl.java:2663)*
解决方案
推荐阅读
- arrays - R列表列表(字典)
- python - 使用 pandas 中的 read_csv 时为特定列设置数据类型
- function - 为什么 PowerShell 不接受函数的命名和类型化 [ref] 参数?
- c# - 无法将 WPF DataGrid 绑定到具有作为属性路径无效的列名的 DataView
- javascript - JavaScript 显示/隐藏 html 元素
- javascript - 模糊没有按预期工作
- powershell - 带参数的调用命令作为作业
- java - 如何在 DynamoDB 中使用 java 从 json 文件读取对象动态创建项目
- javascript - 基于Javascript中的另一个字符串从查询字符串中检索参数
- office365 - 通过 Graph API 生成 Office365 报告