首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Endeca -基线更新失败-从记录存储区读取错误

Endeca -基线更新失败-从记录存储区读取错误
EN

Stack Overflow用户
提问于 2017-08-16 02:37:47
回答 1查看 1.4K关注 0票数 0

ATG基线更新失败,在ART应用程序中出现以下错误。但部分索引是成功的。

附加CAS日志也为相应的应答错误。

代码语言:javascript
复制
Aug 15, 2017 12:23:37 PM com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript
SEVERE: Crawl 'ART-last-mile-crawl' failed with error: Problem running full acquisition on data source for ART-last-mile-crawl: Error reading from Record Store ART-data: malformed input around byte 10.
Occurred while executing line 11 of valid BeanShell script:
[[

 8|      Dgidx.cleanDirs();
 9|
10|      // run crawl and archive any changes in dvalId mappings
11|      CAS.runBaselineCasCrawl("ART-last-mile-crawl");
12|      CAS.archiveDvalIdMappingsForCrawlIfChanged("ART-last-mile-crawl");
13|
14|      // archive logs and run the indexer

]]

Aug 15, 2017 12:23:37 PM com.endeca.soleng.eac.toolkit.Controller execute
SEVERE: Caught an exception while invoking method 'run' on object 'BaselineUpdate'. Releasing locks.
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

在CAS中,错误日志是:

代码语言:javascript
复制
2017-08-15 12:23:36,485 ERROR [ART-data] [cas-ART-last-mile-crawl-worker-1] com.endeca.itl.recordstore.impl.RecordStoreImpl: Error executing method RecordStoreImpl.readRecords()
com.endeca.itl.recordstore.RecordStoreException: malformed input around byte 10
        at com.endeca.itl.recordstore.impl.ReadCursor.read(ReadCursor.java:81)
        at com.endeca.itl.recordstore.impl.RecordStoreImpl.readRecords(RecordStoreImpl.java:480)
        at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.endeca.itl.service.ServicePublisher$1.invoke(ServicePublisher.java:121)
        at com.sun.proxy.$Proxy57.readRecords(Unknown Source)
        at com.endeca.itl.recordstore.RecordStoreReader.fetchNextChunk(RecordStoreReader.java:267)
        at com.endeca.itl.recordstore.RecordStoreReader.hasNext(RecordStoreReader.java:244)
        at com.endeca.itl.extension.source.merger.RecordStoreMergerDataSourceRuntime$RecordStoreReadSession.runFull(RecordStoreMergerDataSourceRuntime.java:252)
        at com.endeca.itl.extension.source.merger.RecordStoreMergerDataSourceRuntime.runFullAcquisition(RecordStoreMergerDataSourceRuntime.java:148)
        at com.endeca.itl.util.CasExtensionRegistry$ContextClassLoaderDataSourceExtensionRuntime$2.doWork(CasExtensionRegistry.java:220)
        at com.endeca.itl.util.CasExtensionRegistry$ContextClassLoaderDataSourceExtensionRuntime$2.doWork(CasExtensionRegistry.java:218)
        at com.endeca.itl.plugin.ThreadContextRunner.run(ThreadContextRunner.java:136)
        at com.endeca.itl.plugin.ThreadContextRunner.run(ThreadContextRunner.java:89)
        at com.endeca.itl.util.CasExtensionRegistry$ContextClassLoaderDataSourceExtensionRuntime.runFullAcquisition(CasExtensionRegistry.java:218)
        at com.endeca.itl.executor.extension.ExtensionDataSourceProcessor.processRecord(ExtensionDataSourceProcessor.java:104)
        at com.endeca.itl.executor.extension.IncrementalDataSourceProcessor.processRecord(IncrementalDataSourceProcessor.java:106)
        at com.endeca.itl.executor.TaskManager$2.work(TaskManager.java:166)
        at com.endeca.itl.executor.WorkExecutor$WorkRunnable.run(WorkExecutor.java:194)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        at com.endeca.itl.util.LoggingContextAwareThread.run(LoggingContextAwareThread.java:71)
Caused by: java.io.UTFDataFormatException: malformed input around byte 10
        at java.io.DataInputStream.readUTF(DataInputStream.java:656)
        at java.io.DataInputStream.readUTF(DataInputStream.java:564)
        at com.endeca.itl.recordstore.impl.storage.RecordStorageEntry.load(RecordStorageEntry.java:114)

任何关于如何进一步分类和调试的输入都是有帮助的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-21 23:37:11

完成以下步骤后,解决了上述错误。

  1. Step1 - CAS配置是在添加以下更改后导出和导入的。<ignoreInvalidRecords>true</ignoreInvalidRecords> 记录存储-cmd.sh获取-配置-a ART- -f -f dataConfig.xml记录存储-cmd.sh集-配置-a ART-f dataConfig.xml
  2. Step2 -在<CAS_WS>/workspace/state/ART-data下面的记录存储配置文件中进行了相同的更改
  3. Step3 -- cas_output文件夹<Endeca_apps>/ART/data/cas_output被替换为可用的备份(过去2天)。

在完成上述步骤之后,直接从后端(通过调用脚本)启动索引。这种索引一旦成功,就会从dynamo中调用索引,而同样的索引也是成功的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45704274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档