Saturday, March 19, 2016

Endeca 11.x - EacCommunicationException Error After Running Initialize Services

The following error is being thrown for any new application trying to run initialize_services on: [01.22.16 16:33:09] INFO: Checking definit... thumbnail 1 summary
The following error is being thrown for any new application trying to run initialize_services on:

[01.22.16 16:33:09] INFO: Checking definition from AppConfig.xml against existing EAC provisioning.
[01.22.16 16:33:10] INFO: Setting definition for application '<app_name>'.
[01.22.16 16:33:10] SEVERE: Caught an exception while checking provisioning.

Caused by com.endeca.soleng.eac.toolkit.exception.EacCommunicationException
com.endeca.soleng.eac.toolkit.application.Application setDefinition - Caught exception while defining application '<app_name>'.
Caused by com.endeca.eac.client.EACFault
sun.reflect.NativeConstructorAccessorImpl newInstance0 - null

SEVERE: Caught an exception while checking provisioning.
com.endeca.soleng.eac.toolkit.exception.EacCommunicationException: Caught exception while defining application '<app_name>'.
       at com.endeca.soleng.eac.toolkit.application.Application.setDefinition(Application.java:141)
       at com.endeca.soleng.eac.toolkit.Controller.provision(Controller.java:667)
       at com.endeca.soleng.eac.toolkit.Controller.execute(Controller.java:235)
       at com.endeca.soleng.eac.toolkit.Controller.main(Controller.java:134)
Caused by: An error occurred while trying to create the application: Error while running a hibernate transaction: could not insert: [com.endeca.esf.centralserver.service.ApplicationType]
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)


Solution :-

This issue can be caused by a db.lck file in the %ENDECA_CONF%\state\eacstore directory.

 Stop all services, delete db.lck file, restart the services and then run initialize_services again.

4 comments

Unknown said...

Hi Ajay,

We are migrating Endeca 3.1.2 to 11.2 for our client and we will continue to use the Deployment Template for Product Catalog Integration (DT-PCI), which is a client requirement. Please find the below steps I have followed:

1. Deployed new Endeca application in 11.2 by using discover-data deployment template.
2. Have made all the necessary changes to the directory structure and configurations to be compliant to the DT-PCI.
3. Initialized the application successfully.
When we are running baseline update, we get the below exception while running ConfigurationGeneratorForge.

ERROR
08/22/16 13:56:44.006 UTC (1471874203991)
FORGE {config}: (AdapterRunner): Adapter class not found: 'com.endeca.esource.springadapter.SpringDelegateAdapter'. Check that the classname and classpath are correct.
com.endeca.edf.adapter.AdapterRunner$LoadAdapterException: Adapter class not found: 'com.endeca.esource.springadapter.SpringDelegateAdapter'. Check that the classname and classpath are correct.
at com.endeca.edf.adapter.AdapterRunner.loadAdapter(AdapterRunner.java:366)
at com.endeca.edf.adapter.AdapterRunner.run(AdapterRunner.java:207)
at com.endeca.edf.adapter.AdapterRunner.main(AdapterRunner.java:88)
Caused by: java.lang.ClassNotFoundException: com.endeca.esource.springadapter.SpringDelegateAdapter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.endeca.edf.adapter.AdapterRunner.loadAdapter(AdapterRunner.java:362)
... 2 more

I have taken the below measures to resolve the above exception, but in vain.

1. Copied the spring-delegate-adapter-1.0.1.jar from 3.1.2 DT-PCI and pasted in /config/lib/java/ directory.
2. Set the CLASSPATH in environment.properties file to refer the above location for spring-delegate-adapter-1.0.1.jar.
3. Also, explicitly set the CLASSPATH location of spring-delegate-adapter-1.0.1.jar in "forge" and configurationGeneratorForge" scripts in DataInjest.xml.

When we tried looking out for this exception, we found out that from Oracle Commerce Guided Search Release 11.2, use of the spring-delegate-adapter-1.0.1.jar is no longer supported.
Here are few links from Oracle support which we have referred –
1. https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=351965686169701&id=1965008.1&_afrWindowMode=0&_adf.ctrl-state=synuthiz5_529

2. https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=351965686169701&id=1965008.1&_afrWindowMode=0&_adf.ctrl-state=synuthiz5_529

I have posted a question in the community regarding the exact meaning of “use of the spring-delegate-adapter-1.0.1.jar is no longer supported in 11.2”. Here is the question - https://community.oracle.com/message/13990568#13990568

Let me know your opinion on this.

Divya said...

Hi Abhishek,

Were you able to find a solution for this.

Ajay Agrawal said...

Hi Abhishek,

Was there any customization in 3.1.2? are you moving to CAS based indexing or forged based indexing? which deployment template you are using to achieve this?

Thanks,
Ajay Agrawal

Unknown said...

Hi,

I am getting following error when trying to run initialize_services.sh script.endeca version used is 11.1.0

SEVERE: Caught an exception while checking provisioning.
com.endeca.soleng.eac.toolkit.exception.EacCommunicationException: Caught exception while setting host definition.
at com.endeca.soleng.eac.toolkit.host.Host.setDefinition(Host.java:485)
at com.endeca.soleng.eac.toolkit.Controller.provision(Controller.java:705)
at com.endeca.soleng.eac.toolkit.Controller.execute(Controller.java:249)
at com.endeca.soleng.eac.toolkit.Controller.main(Controller.java:137)
Caused by: An error occurred while trying to add host 'MDEXAuthHost1': Errors:
Error connecting to 'MDEXAuthHost1' [ 10.19.1.5 ] with hostname/port 'd1enda1mdx01:9999'.

Checked for the environment variables, state folder. Everything seems to be alright

Post a Comment

Note: Only a member of this blog may post a comment.

Text Widget