Support Article

BIX running from Command Line does not invoke rule

SA-32164

Summary



Running BIX from Command Line using -a/-p parameters and thereby passing UserName and Password fails.
Without username and password, the same script executes successfully. Extract rule can also be run without any issue from the Designer Studio and HFIX-31012 is installed.


Error Messages



BIX log:
2017-01-04 10:39:25,787 [ your_host] [ ] [ ] ( internal.access.ExtractImpl) INFO - {b=1, a=your_user, i=YOUR_EXTRACT_RULE, p=your_password}
2017-01-04 10:39:25,823 [ your_host] [ ] [ ] ( internal.access.ExtractImpl) DEBUG - Successfully Connected to DB: PegaRULESReports
2017-01-04 10:39:28,053 [ your_host] [ ] [ ] ( internal.access.ExtractImpl) ERROR - unable to authenticate session for: your_user

PegaRULES log:
2017-01-04 10:39:03,301 [ your_host] [ STANDARD] [ ] [ ] ( internal.mgmt.PRNodeImpl) INFO - Rule-Utility-Library preparation not performed.
...
2017-01-04 10:39:25,786 [ naswaspegadev01] [ STANDARD] [ ] [ ] ( internal.mgmt.EngineImpl) INFO - Embedded Environment initialization is complete.
2017-01-04 10:39:27,934 [ naswaspegadev01] [ STANDARD] [ ] [ ] ( internal.mgmt.Executable) ERROR - Exception
com.pega.pegarules.pub.runtime.LibraryFunctionNotFoundException: Failed to find instance 'LengthOfPageList--(ClipboardProperty)' of type Rule-Utility-Function defined in 'pega_rules_utilities'
at com.pega.pegarules.generation.internal.library.LibraryMetadataCache.getFunctionInstance(LibraryMetadataCache.java:342)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.resolveAndinvokeFunctionViaReflection(LibraryRuntime.java:124)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.invokeLibraryRuntime(LibraryRuntime.java:110)



Steps to Reproduce



Execute the shell script to run the rule from command line by passing username and password as parameters.


Root Cause



A defect or configuration issue in the operating environment. It seems that the pr_temp folder used by BIX process doesn't have all the necessary java classes generated. The folder has an extract marker from the past which doesn't match the Pega engine state in the database.

Resolution



Make the following change to the operating environment:
  1. Look for the following statement in PegaRULES log to identify the Pega temp location.
  2. PegaRULES effective temp path: /tmp/pr_temp
  3. Delete the contents of pr_temp folder used by BIX process.
  4. Run the BIX extract again and this time the engine should generated library cache in the current state.

Published January 5, 2017 - Updated March 1, 2017

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.