ATG Endeca Commerce: сбой индексации при сканировании последней мили

Сбой индексирования из-за следующей ошибки на этапе EndecaScriptService

Сканирование cas дает сбой из-за странного исключения socketTimeout, которое является довольно случайным. Не уверен, что это из-за размера индексируемого набора данных.

INFO: Starting baseline CAS crawl with id 'art-last-mile-crawl'.
Aug 02, 2017 11:18:44 AM com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript
SEVERE: Error starting baseline crawl 'art-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("art-last-mile-crawl");
12|      CAS.archiveDvalIdMappingsForCrawlIfChanged("art-last-mile-crawl");
13|
14|      // archive logs and run the indexer

]]

Aug 02, 2017 11:18:44 AM 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)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.endeca.soleng.eac.toolkit.Controller.invokeRequestedMethod(Controller.java:933)
        at com.endeca.soleng.eac.toolkit.Controller.execute(Controller.java:271)
        at com.endeca.soleng.eac.toolkit.Controller.main(Controller.java:138)
Caused by: com.endeca.soleng.eac.toolkit.exception.AppControlException: Error executing valid BeanShell script.
        at com.endeca.soleng.eac.toolkit.script.Script.runBeanShellScript(Script.java:180)
        at com.endeca.soleng.eac.toolkit.script.Script.run(Script.java:127)
        ... 7 more
Caused by: com.endeca.soleng.eac.toolkit.exception.CasCommunicationException: Error starting baseline crawl 'art-last-mile-crawl'.
        at com.endeca.eac.toolkit.component.cas.ContentAcquisitionServerComponent.startBaselineCasCrawl(ContentAcquisitionServerComponent.java:451)
        at com.endeca.eac.toolkit.component.cas.ContentAcquisitionServerComponent.runBaselineCasCrawl(ContentAcquisitionServerComponent.java:357)
        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:497)
        at bsh.Reflect.invokeMethod(Unknown Source)
        at bsh.Reflect.invokeObjectMethod(Unknown Source)
        at bsh.Name.invokeMethod(Unknown Source)
        at bsh.BSHMethodInvocation.eval(Unknown Source)
        at bsh.BSHPrimaryExpression.eval(Unknown Source)
        at bsh.BSHPrimaryExpression.eval(Unknown Source)
Caused by: java.net.SocketTimeoutException: Read timed out
        at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
        at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)

Использование ATG 11.2 и Endeca 11.2


person Muralidharan.rade    schedule 02.08.2017    source источник
comment
Вы проверили, работает CAS или нет?   -  person Ajay Agrawal    schedule 03.08.2017
comment
@AjayAgrawal это было запущено. Проблема носит периодический характер   -  person Muralidharan.rade    schedule 03.08.2017


Ответы (1)


Из документации поддержки ATG:

httpSocketTimeout — это максимальный период бездействия в миллисекундах между двумя последовательными пакетами данных до истечения времени ожидания http. Неадекватное значение может вызвать ошибку ожидания чтения.

По умолчанию для httpSocketTimeout установлено значение 60 секунд. Увеличение этого значения устраняет ошибку тайм-аута чтения.

Чтобы устранить эту проблему, измените /<app>/config/script/DataIngest.xml в развернутом приложении, добавив <property name="httpSocketTimeout" value="(some value)" />.

Ваш файл будет выглядеть примерно так:

<property name="casHost" value="localhost" />
<property name="casPort" value="8500" />
<property name="httpSocketTimeout" value="180000" />
<property name="numPartialsBackups" value="5" />

Вам нужно будет поэкспериментировать с httpSocketTimeout, пока вы больше не получите тайм-аут. В какой-то момент вам может понадобиться увеличить его снова.

person radimpe    schedule 03.08.2017
comment
не могли бы вы помочь со ссылкой на документацию поддержки ATG .. спасибо - person Muralidharan.rade; 04.08.2017
comment
Вам потребуется логин на сайте поддержки и может потребоваться действующий контракт на поддержку. support.oracle.com/epmos/faces/DocumentDisplay?id=2042882.1 - person radimpe; 04.08.2017