PulsarRPA icon indicating copy to clipboard operation
PulsarRPA copied to clipboard

Reading from FileBackendPageStore failed.

Open platonai opened this issue 2 years ago • 1 comments

Reading from FileBackendPageStore failed.

Exception in thread "main" java.nio.file.FileSystemException: C:\Users\Vincent Zhang.pulsar\data\store\nbzfcg-cn\nbzfcg-cn-5fb8f1e5b8322a31bb42dbdcee9d256f.avro: 另一个程序正在使用此文件,进程无法访问。 at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) at java.base/sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:274) at java.base/sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:110) at java.base/java.nio.file.Files.deleteIfExists(Files.java:1185) at ai.platon.pulsar.persist.gora.FileBackendPageStore.readAvro(FileBackendPageStore.kt:98) at ai.platon.pulsar.persist.gora.FileBackendPageStore.get(FileBackendPageStore.kt:41) at ai.platon.pulsar.persist.gora.FileBackendPageStore.get(FileBackendPageStore.kt:30) at org.apache.gora.store.impl.DataStoreBase.get(DataStoreBase.java:156) at org.apache.gora.store.impl.DataStoreBase.get(DataStoreBase.java:56) at ai.platon.pulsar.persist.WebDb.getOrNull(WebDb.kt:71) at ai.platon.pulsar.persist.WebDb.getOrNull$default(WebDb.kt:65) at ai.platon.pulsar.crawl.component.LoadComponent.createPageShell(LoadComponent.kt:259) at ai.platon.pulsar.crawl.component.LoadComponent.loadDeferred0(LoadComponent.kt:206) at ai.platon.pulsar.crawl.component.LoadComponent.loadWithRetryDeferred(LoadComponent.kt:116) at ai.platon.pulsar.crawl.component.LoadComponent.loadDeferred(LoadComponent.kt:95) at ai.platon.pulsar.context.support.AbstractPulsarContext.loadDeferred$suspendImpl(AbstractPulsarContext.kt:329) at ai.platon.pulsar.context.support.AbstractPulsarContext.loadDeferred(AbstractPulsarContext.kt) at ai.platon.pulsar.session.AbstractPulsarSession.loadAndCacheDeferred(AbstractPulsarSession.kt:487) at ai.platon.pulsar.session.AbstractPulsarSession.loadDeferred$suspendImpl(AbstractPulsarSession.kt:192) at ai.platon.pulsar.session.AbstractPulsarSession.loadDeferred(AbstractPulsarSession.kt) at ai.platon.scent.dm.HarvestRunner.loadDeferred(HarvestRunner.kt:251) at ai.platon.scent.dm.HarvestRunner.access$loadDeferred(HarvestRunner.kt:40) at ai.platon.scent.dm.HarvestRunner$loadDocumentsDeferred$2$1$1.invokeSuspend(HarvestRunner.kt:275) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

PS C:\Users\Vincent Zhang.pulsar\proxy> java -version openjdk version "14.0.2" 2020-07-14 OpenJDK Runtime Environment (build 14.0.2+12-46) OpenJDK 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

PS C:\Users\Vincent Zhang.pulsar\proxy> Get-ComputerInfo -Property “os*” | select OSName, OsArchitecture

OsName OsArchitecture


Microsoft Windows 11 家庭中文版 64 位

platonai avatar Nov 22 '22 12:11 platonai

Re-throw from the catch clause.

    return try {
        readAvro(path)
    } catch (e: AvroRuntimeException) {
        logger.warn("Failed to read avro file from $path, the file might be corrupted, delete it", e)
        Files.deleteIfExists(path)
        null
    } catch (e: IOException) {
        // logger.warn(Throwable.brief())
        Files.deleteIfExists(path)                  // re-throw here
        null
    }

platonai avatar Nov 22 '22 12:11 platonai