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 并删除它。
我试图 运行 我的应用程序在本地 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 并删除它。