在升级到ignite 2.7时,我们遇到了这个问题,这在ignite即将启动某些自定义缓存时会发生。
2019-01-09 19:28:04.260 UTC [SERVER] [exchange-worker-#38%fdap%] [ERROR] [,] ROOT - Critical system error detected. Will be handled accordingly to configured handler [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=[SYSTEM_WORKER_BLOCKED]]], failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=java.lang.IllegalAccessError: tried to access field org.h2.util.LocalDateTimeUtils.LOCAL_DATE from class o.a.i.i.processors.query.h2.H2DatabaseType]]
java.lang.IllegalAccessError: tried to access field org.h2.util.LocalDateTimeUtils.LOCAL_DATE from class org.apache.ignite.internal.processors.query.h2.H2DatabaseType
at org.apache.ignite.internal.processors.query.h2.H2DatabaseType.fromClass(H2DatabaseType.java:147)
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.dbTypeFromClass(IgniteH2Indexing.java:2972)
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.createTable(IgniteH2Indexing.java:2873)
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:2809)
at org.apache.ignite.internal.processors.query.GridQueryProcessor.registerCache0(GridQueryProcessor.java:1633)
at org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart0(GridQueryProcessor.java:805)
at org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:866)
at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:1330)
at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:2165)
at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:2023)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:924)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:766)
at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2667)
at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2539)
同一张https://issues.apache.org/jira/browse/IGNITE-10612也有一张票,将解决该问题还是提供有关如何解决此问题的发行指南。
请帮助...
答案 0 :(得分:2)
通过放置
<properties>
<h2.version>1.4.197</h2.version>
</properties>
致力于解决此问题。 因为h2的默认值为1.4.199,这可能会导致其他异常。您也必须覆盖它。
答案 1 :(得分:1)
您确定您具有正确的H2依赖版本吗?对于AI 2.7,它应该是com.h2database
h2
1.4.197
而不是其他任何值。您发布的错误是链接错误,这是由于类路径中的库版本不正确而引起的。