Saturday, March 26, 2016

Endeca CAS Last-Mile-Crawl : wrong value for property 'mergeAction' (UPDATE) when no imported entry found to merge with

Behaviour :- Following Exception comes while during baseline run Mar 11, 2015 8:20:25 PM com.endeca.soleng.eac.toolkit.Controlle... thumbnail 1 summary
Behaviour :-

Following Exception comes while during baseline run


Mar 11, 2015 8:20:25 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:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.endeca.soleng.eac.toolkit.Controller.invokeRequestedMethod(Controller.java:931)
        at com.endeca.soleng.eac.toolkit.Controller.execute(Controller.java:269)
        at com.endeca.soleng.eac.toolkit.Controller.main(Controller.java:137)
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:179)
        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 'stg1-last-mile-crawl'.
        at com.endeca.eac.toolkit.component.cas.ContentAcquisitionServerComponent.startBaselineCasCrawl
(ContentAcquisitionServer
Component.java:400)
        at com.endeca.eac.toolkit.component.cas.ContentAcquisitionServerComponent.runBaselineCasCrawl
(ContentAcquisitionServerComponent.java:308)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at bsh.Reflect.invokeMethod(Unknown Source)
        at bsh.Reflect.invokeObjectMethod(Unknown Source)
        at bsh.Name.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)
        at bsh.BSHBlock.evalBlock(Unknown Source)
        at bsh.BSHBlock.eval(Unknown Source)
        at bsh.BSHBlock.eval(Unknown Source)
        at bsh.BSHIfStatement.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at com.endeca.soleng.eac.toolkit.script.Script.runBeanShellScript(Script.java:165)
        ... 8 more
Caused by: Crawl failed to start: Error retrieving attributes from the config repository: 
Unable to create JSON output for merge request: validation errors:
  ERROR: failure to add '/sites/stg1/attributes/content.repositoryId' to merged output: wrong value for property 'mergeAction' (UPDATE) when no imported entry found to merge with.
  ERROR: failure to add '/sites/stg1/attributes/product.repositoryId' to merged output: wrong value for property 'mergeAction' (UPDATE) when no imported entry found to merge with.
  ERROR: failure to add '/sites/stg1/attributes/store.repositoryId' to merged output: wrong value for property 'mergeAction' (UPDATE) when no imported entry found to merge with.
  ERROR: failure to add '/sites/stg1/attributes/article.repositoryId' to merged output: wrong value for property 'mergeAction' (UPDATE) when no imported entry found to merge with.
  ERROR: failure to add '/sites/stg1/attributes/sku.margin' to merged output: wrong value for property 'mergeAction' (UPDATE) when no imported entry found to merge with.
. See config repository log for more details.

        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)




Solution :- 

"wrong value for property 'mergeAction' (UPDATE) when no imported entry found to merge with" Error comes if /config/index-config/index-config.json cotains a property or dimension that does not exist in indexing Data.

Remove dimension and property those are not required and not used in application from index-config.json and do set-config to update ECR repository.

Find out command below :-


<<Endeca_APP_PATH>>/control->./index_config_cmd.sh set-config -o system -f <<File_Path>>/index-config.json


It's your Turn
Was this post help you to resolve the issue that you are looking for? Any other issues that you might have and need a solution?

Click here for more ATG-Endeca Integration related issue.

Provide your feedback in the comment section below.




5 comments

  1. Excellent!!
    This error happened to me because I am trying to use CRS based Endeca application for non-CRS based ATG application.
    Solution provided works like charm.

    ReplyDelete
    Replies
    1. Thanks Abhishek for referring my blog. Happy searching...

      Delete
  2. Hi Ajay,

    I have added CAS manipulator to manipulate some property value. The properties are suppose color,date. if some product does not have color property or date property that product is not getting index. can you provide solution if even if property is not exist in product it should be index.

    Thanks,
    Sunil

    ReplyDelete
  3. Hi Sunil,

    Thanks for referring to my blog. Could you please provide me manipulator code that you are using.

    Endeca baseline does not exclude any products from index if you are providing the record spec and not dependent on any individual property. do you have record spec available for records?

    Thanks,
    Ajay Agrawal

    ReplyDelete
  4. Before you even hire a property management company to oversee your property, you may want to consult with one to determine the type of ownership in which you are interested. Commercial property management

    ReplyDelete

Text Widget