Error starting baseline crawl – Error retrieving precedence rules from the config repository

Getting following error while running the Baseline update

 

[01.15.20 11:47:44] INFO: Checking definition from AppConfig.xml against existing EAC provisioning.

[01.15.20 11:47:44] INFO: Definition has not changed.

[01.15.20 11:47:44] INFO: Starting baseline update script.

[01.15.20 11:47:45] INFO: Acquired lock ‘update_lock’.

[01.15.20 11:47:45] INFO: Starting baseline CAS crawl with id ‘MyAppen-last-mile-crawl’.

[01.15.20 11:47:46] SEVERE: Error starting baseline crawl ‘MyAppen-last-mile-crawl’.

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(“MyAppen-last-mile-crawl”);

12|      CAS.archiveDvalIdMappingsForCrawlIfChanged(“MyAppen-last-mile-crawl”);

13|

14|      // archive logs and run the indexer

 

]]

 

[01.15.20 11:47:46] SEVERE: Caught an exception while invoking method ‘run’ on object ‘BaselineUpdate’. Releasing locks. Failed with error Error executing valid BeanShell script.

[01.15.20 11:47:46] INFO: Released lock ‘update_lock’.

Casservice.log –

2020-01-15 12:53:01,998 ERROR [cas] [1528637575@jetty-6] com.endeca.itl.service.CasCrawlerImpl: Error executing method CasCrawlerImpl.startCrawl()

com.endeca.itl.cas.api.ItlException: Crawl failed to start: com.endeca.itl.executor.FatalExecutionException: Error retrieving precedence rules from the config repository

at com.endeca.itl.service.CrawlRun.start(CrawlRun.java:155)

at com.endeca.itl.service.CrawlManager.startCrawl(CrawlManager.java:309)

at com.endeca.itl.service.CasCrawlerImpl.startCrawl(CasCrawlerImpl.java:277)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)

at com.endeca.itl.service.ServicePublisher$2.performInvocation(ServicePublisher.java:158)

at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)

at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:178)

at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:64)

at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)

at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)

at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)

at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:122)

at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211)

at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)

at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:154)

at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:129)

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:187)

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:110)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:166)

at sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.endeca.itl.plugin.ThreadContextRunner$1$1.doWork(ThreadContextRunner.java:66)

at com.endeca.itl.plugin.ThreadContextRunner.run(ThreadContextRunner.java:157)

at com.endeca.itl.plugin.ThreadContextRunner$1.invoke(ThreadContextRunner.java:72)

at com.sun.proxy.$Proxy1.service(Unknown Source)

at com.endeca.itl.bootstrap.CasBootStrapServlet.service(CasBootStrapServlet.java:152)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)

at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)

at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at org.mortbay.jetty.Server.handle(Server.java:326)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)

at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)

at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Caused by: com.endeca.itl.cas.api.ItlException: com.endeca.itl.executor.FatalExecutionException: Error retrieving precedence rules from the config repository

at com.endeca.itl.executor.Pipeline.start(Pipeline.java:163)

at com.endeca.itl.service.CrawlRun.start(CrawlRun.java:148)

… 52 more

Caused by: com.endeca.itl.executor.FatalExecutionException: Error retrieving precedence rules from the config repository

at com.endeca.itl.executor.output.mdex.MdexConfiguration.retrieveAndValidatePrecedenceRules(MdexConfiguration.java:292)

at com.endeca.itl.executor.output.mdex.MdexConfiguration.<init>(MdexConfiguration.java:159)

at com.endeca.itl.executor.output.mdex.FullMdexOutputHandler.<init>(FullMdexOutputHandler.java:131)

at com.endeca.itl.executor.output.mdex.MdexOutputSink.prepareForAcquisition(MdexOutputSink.java:145)

at com.endeca.itl.executor.Pipeline.start(Pipeline.java:159)

… 53 more

Caused by: org.codehaus.jackson.JsonParseException: Unexpected character (‘<‘ (code 60)): expected a valid value (number, String, array, object, ‘true’, ‘false’ or ‘null’)

at [Source: org.apache.http.conn.EofSensorInputStream@3d2c3d32; line: 6, column: 2]

at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1432)

at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:521)

at org.codehaus.jackson.impl.JsonParserMinimalBase._reportUnexpectedChar(JsonParserMinimalBase.java:442)

at org.codehaus.jackson.impl.Utf8StreamParser._handleUnexpectedValue(Utf8StreamParser.java:2090)

at org.codehaus.jackson.impl.Utf8StreamParser._nextTokenNotInObject(Utf8StreamParser.java:606)

at org.codehaus.jackson.impl.Utf8StreamParser.nextToken(Utf8StreamParser.java:492)

at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2770)

at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2718)

at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1909)

at com.endeca.repository.reader.ConfigRepositoryReader.fetchJson(ConfigRepositoryReader.java:347)

at com.endeca.repository.reader.ConfigRepositoryReader.fetchPrecedenceRules(ConfigRepositoryReader.java:198)

at com.endeca.repository.reader.ConfigRepositoryReader.getMergedPrecedenceRules(ConfigRepositoryReader.java:181)

at com.endeca.itl.executor.output.mdex.repository.ConfigRepositoryClient.getPrecedenceRules(ConfigRepositoryClient.java:228)

at com.endeca.itl.executor.output.mdex.MdexConfiguration.retrieveAndValidatePrecedenceRules(MdexConfiguration.java:288)

Fix –

As it says “Error retrieving precedence rules from the config repository”. That means ECR does not have precedenceRules set up correctly. If you have an export of attributes from the current app or some other app you want to replicate precedence rules from and run following

<app-folder>/control/runcommand.sh IFCR importContent precedenceRules /tmp/import/attributes/

Now if you don’t have the attributes, you can use the attributes from reference apps –

<ToolsAndFrameworks-installation>/11.3.0/reference/discover-data-cas/import/precedenceRules

Bonus – How to export attributes from an app

<app-folder>/control/runcommand.sh IFCR exportContent precedenceRules /tmp/import/precedenceRules/

 

Leave a Reply