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:
- Look for the following statement in PegaRULES log to identify the Pega temp location.
- PegaRULES effective temp path: /tmp/pr_temp
- Delete the contents of pr_temp folder used by BIX process.
- Run the BIX extract again and this time the engine should generated library cache in the current state.
Published March 1, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.