Endeca EAC uses locks at various points in performing an action on the EAC application instance. One typical behavior is while running the baseline update, it needs to acquire update_lock on the EAC app. Some times the update_lock is not obtained for various reasons. Like – EAC communication exception mentioned below OR lock is already acquired before but did not release properly etc.

[04.20.20 10:49:30] WARNING: Failed to acquire lock ‘update_lock’ due to an EAC communication error: Caught exception while attempting to set flag ‘update_lock’.

[04.20.20 10:49:30] SEVERE: Failed to obtain lock.

[04.20.20 10:49:30] SEVERE: Failed to obtain lock.

Occurred while executing line 53 of valid BeanShell script:

[[

 

50|        log.info(“Baseline update script finished.”);

51|    } else {

52|      log.severe(“Failed to obtain lock.”);

53|      throw new Exception(“Failed to obtain lock.”);

54|    }

55|

56|

]]

 

[04.20.20 10:49:30] SEVERE: Caught an exception while invoking method ‘run’ on object ‘BaselineUpdate’. Releasing locks.

 

Caused by java.lang.reflect.InvocationTargetException

sun.reflect.NativeMethodAccessorImpl invoke0 – null

Caused by com.endeca.soleng.eac.toolkit.exception.AppControlException

com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript – Error executing valid BeanShell script.

Caused by java.lang.Exception

sun.reflect.NativeConstructorAccessorImpl newInstance0 – Failed to obtain lock.

EAC communication can be fixed by restarting the EAC.

Now the first thing that we can do is to see what all locks are in use. We can see all locks(which are flags) that are in use (MyAppen is the name of my Endeca application)

<Platform-services-installation>/11.0.0/bin/eaccmd.sh list-flags –app MyAppen

This will list the locks that exist for EAC app MyAppen like update_lock

To release update_lock, run below command –

<Endeca-installation>/apps/MyAppen/control/runcommand.sh LockManager releaseLock update_lock

The command above is used to release locks one by one, OR you can run the following command to release all the Endeca application locks at once –

<Platform-services-installation>/11.0.0/bin/eaccmd.sh remove-all-flags –app MyAppen

 

Leave a Reply