Apache Ignite 中的错误:无法恢复内存 - WAL 存档的关键部分丢失

Error in Apache Ignite : Can't restore memory - critical part of WAL archive is missing

我试图 运行 我的应用程序在本地 Windows 机器上使用 Apache ignite 缓存,但出现以下错误:

ERROR [exchange-worker-#42%ignite-instance-0%] [] - Critical system error detected. Will be handled accordingly to configured handler [hnd=class o.a.i.failure.StopNodeOrHaltFailureHandler, failureCtx=FailureContext [type=CRITICAL_ERROR, err=class o.a.i.i.pagemem.wal.StorageException: Restore wal pointer = null, while status.endPtr = FileWALPointer [idx=0, fileOff=3746370, len=53]. Can't restore memory - critical part of WAL archive is missing.]]
class org.apache.ignite.internal.pagemem.wal.StorageException: Restore wal pointer = null, while status.endPtr = FileWALPointer [idx=0, fileOff=3746370, len=53]. Can't restore memory - critical part of WAL archive is missing.
at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readCheckpointAndRestoreMemory(GridCacheDatabaseSharedManager.java:759)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:894)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:641)
at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at java.lang.Thread.run(Thread.java:748)

知道哪里出了问题吗?

我的 dataStorageConfiguration 是:

<property name="dataStorageConfiguration">
    <bean class="org.apache.ignite.configuration.DataStorageConfiguration">
        <property name="defaultDataRegionConfiguration">
            <bean class="org.apache.ignite.configuration.DataRegionConfiguration">
                    <property name="persistenceEnabled" value="true"/>
            </bean>
        </property>
        <property name="walMode" value="LOG_ONLY"/>
        <property name="walCompactionEnabled" value="true" />
    </bean>
</property>

您丢失了 WAL 吗?如果您根本不关心任何预先存在的数据,请考虑删除您的 Ignite 工作目录(通常是 ignite/work%TMP%/ignite/work)。

总结解决方案:

删除以下目录 Windows : C:\用户\\AppData\Local\Temp\ignite Linux : 找到具有层次结构的目录 ignit/work 并删除它。