Question
TSYS
US
Last activity: 19 Mar 2017 14:33 EDT
BIX extract filter condition not working
We are running command line BIX extract in 7.1.8 Pega and filter criteria is not working in few of the environments. Ignores the filer condition given in the Extract rule(Working in QA env,but not in higher). Logs files also doesn't show the filter condition.
Setting of these environments are similar.
Any thoughts?
***Updated by Moderator: Marissa to add SR to post***
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
Pegasystems Inc.
US
The issue has been resolved. To address the problem, the following needed to be added to the prconfig.xml files in use by the BIX command line process:
<env name="database/databases/PegaRULES/defaultSchema" value="RULES_SCHEMA"/>
<env name="database/databases/PegaDATA/defaultSchema" value="DATA_SCHEMA"/>
Pegasystems
IN
Few questions
1) What is the highest ruleset version for the Pega-BIX ruleset in your environment (where it works and where it doesn't)
2) Did you enable debug logging for BIX and check the log files for the query generated?
3) Does your source database use synonyms that BIX extract rule refers?
TSYS
US
Hi,
1) BIX applicaiton is pointed to Pega-BIX:07-10 in all environment.
2) Yes logs are enabled
Here is logs from 2 different environment for same extract rule. SQL statements also reflecting this behaviour.
When working
Logic String::B
- Filter data types and values::
- Filter Name::.txIntentTaskName::Filter Operation::=::Filter Value::RemoveCardholder
- Filter data types and values::
- Filter Name::.txIntentTaskName::Filter Operation::=::Filter Value::RemoveCardholder
- Filter data types and values::
- Filter Name::.txIntentTaskName::Filter Operation::=::Filter Value::RemoveCardholder
- Where condition at the end::((txIntentTaskName = ?)):: columnAdded::true
- Where Condition is: ((txIntentTaskName = ?))
When Not working
Logic String::B
- Where condition at the end::():: columnAdded::false
- Where Condition is:
3) We are running the BIX out of replicated database and from commad line. Im checking with DBA to see if any difference in synonym across environments.
NOTE: it is on multi tenant system.
Updated: 27 Jun 2016 16:16 EDT
TSYS
US
Also noticed below exception during that extract process and still process continued. data has been extracted but condition was ignored.
2016-06-27 13:14:35,972 [XX.XX.XX.XX] [ STANDARD] [ ] (bi.DeclarativeCacheManagerImpl) INFO - Setting EnabledGlobalDeclarativeCachePreLoad to NONE as minimal startup is enabled.
2016-06-27 13:14:51,752 [XX.XX.XX.XX] [ STANDARD] [ ] ( internal.mgmt.PREnvironment) ERROR - com.pega.pegarules.pub.PRRuntimeException: Method Invocation exception
2016-06-27 13:14:51,753 [XX.XX.XX.XX] [ STANDARD] [ ] ( etier.impl.EngineStartup) ERROR - PegaRULES initialization failed. Server: XX.XX.XX.XX
com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:388)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:1998)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:664)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:165)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:138)
at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngineImpl(EngineImpl.java:240)
Also noticed below exception during that extract process and still process continued. data has been extracted but condition was ignored.
2016-06-27 13:14:35,972 [XX.XX.XX.XX] [ STANDARD] [ ] (bi.DeclarativeCacheManagerImpl) INFO - Setting EnabledGlobalDeclarativeCachePreLoad to NONE as minimal startup is enabled.
2016-06-27 13:14:51,752 [XX.XX.XX.XX] [ STANDARD] [ ] ( internal.mgmt.PREnvironment) ERROR - com.pega.pegarules.pub.PRRuntimeException: Method Invocation exception
2016-06-27 13:14:51,753 [XX.XX.XX.XX] [ STANDARD] [ ] ( etier.impl.EngineStartup) ERROR - PegaRULES initialization failed. Server: XX.XX.XX.XX
com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:388)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:1998)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:664)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:165)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:138)
at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngineImpl(EngineImpl.java:240)
at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:119)
at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:112)
at com.pega.pegarules.data.internal.access.ExtractImpl.main(ExtractImpl.java:1027)
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.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:367)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:408)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:272)
at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85)
Caused by: com.pega.pegarules.pub.PRRuntimeException: Method Invocation exception
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1272)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1008)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:841)
at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:380)
... 17 more
Caused by: 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.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1270)
... 20 more
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOfRange(Arrays.java:2694)
at java.lang.String.<init>(String.java:203)
at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:873)
at java.lang.StringBuilder.substring(StringBuilder.java:72)
at com.pega.pegarules.pub.util.StringUtils.toUpperCase(StringUtils.java:1308)
at com.pega.pegarules.pub.util.StringUtils.concat(StringUtils.java:1163)
at com.pega.pegarules.pub.util.StringUtils.concat(StringUtils.java:1001)
at com.pega.pegarules.data.internal.dictionary.ClassMapImpl.getTenantIdQualifier(ClassMapImpl.java:942)
at com.pega.pegarules.data.internal.dictionary.ClassMapImpl.getDefOrNull(ClassMapImpl.java:1117)
at com.pega.pegarules.data.internal.dictionary.ClassMapImpl.getDefOrNull(ClassMapImpl.java:1105)
at com.pega.pegarules.exec.external.basic.conclusions.AbstractClassResolvableConclusion.findMatchResolveIgnoreTenants(AbstractClassResolvableConclusion.java:157)
at com.pega.pegarules.exec.external.basic.conclusions.AbstractClassResolvableConclusion.findMatchResolve(AbstractClassResolvableConclusion.java:138)
at com.pega.pegarules.exec.external.basic.conclusions.AbstractClassResolvableConclusion.findMatch(AbstractClassResolvableConclusion.java:109)
at com.pega.pegarules.data.internal.dictionary.PropertyInfoConclusionImpl.findMatch(PropertyInfoConclusionImpl.java:444)
at com.pega.pegarules.data.internal.dictionary.PropertyInfoConclusionImpl.getPropertyInfo(PropertyInfoConclusionImpl.java:719)
at com.pega.pegarules.data.internal.dictionary.DictionaryImpl.getImmutablePropertyInfo(DictionaryImpl.java:1697)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.putStringOverride(ClipboardPageImpl.java:2788)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.putStringOverride(ClipboardPageImpl.java:2684)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.putStringOverride(ClipboardPageImpl.java:2680)
at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.putStringNoIdentifierCheck(ClipboardPageImpl.java:2672)
at com.pega.pegarules.data.internal.access.PageDatabaseMapperImpl.setResultStringFromResultSet(PageDatabaseMapperImpl.java:836)
at com.pega.pegarules.data.internal.access.PageDatabaseMapperImpl.setResultPropertyFromResultSet(PageDatabaseMapperImpl.java:981)
at com.pega.pegarules.data.internal.access.PageDatabaseMapperImpl.populatePageFromExposedColumns(PageDatabaseMapperImpl.java:640)
at com.pega.pegarules.data.internal.access.ResultPageIteratorImpl.getClipboardPage(ResultPageIteratorImpl.java:966)
at com.pega.pegarules.data.internal.access.ResultPageIteratorImpl.next(ResultPageIteratorImpl.java:448)
at com.pega.pegarules.data.internal.access.RDBPageResultPackager.handleResultSet(RDBPageResultPackager.java:572)
at com.pega.pegarules.data.internal.access.RDBPageResultPackager.packageResults(RDBPageResultPackager.java:302)
at com.pega.pegarules.data.internal.access.DatabaseImpl.list(DatabaseImpl.java:6154)
at com.pega.pegarules.data.internal.access.DatabaseImpl.executeRDB(DatabaseImpl.java:6625)
at com.pega.pegarules.data.internal.access.DatabaseImpl.executeRDB(DatabaseImpl.java:6553)
at com.pega.pegarules.exec.internal.declare.infengine.cbi.DeclarativeCacheManagerImpl.initializeDeclarativeReferencingInfoIfNeeded(DeclarativeCacheManagerImpl.java:960)
at com.pega.pegarules.exec.internal.declare.infengine.cbi.DeclarativeCacheManagerImpl.getPropertyUsageType(DeclarativeCacheManagerImpl.java:886)
2016-06-27 13:14:52,139 [XX.XX.XX.XX] [ STANDARD] [ ] ( etier.impl.EngineStartup) INFO - PegaRULES initialization failed. Server: XX.XX.XX.XX
2016-06-27 13:14:52,172 [XX.XX.XX.XX] [ STANDARD] [ ] ( internal.mgmt.EngineImpl) ERROR - Enterprise tier failed to initialize properly, PegaRULES not available
Pegasystems
IN
Are declaratives enabled when running BIX? This can be turned off (which is what seems to have caused the OutOfMemoryError). Please refer to page 22 (other optional settings) in the BIX user guide - https://docs-previous.pega.com/bix-71-user-guide.
TSYS
US
Rajiv,
we have that setting as true.. but still seeing the out of memory... I have checked few other thread where they talked about this may due to system name.
I have try to correcting that as well. But problem still persists.
BTW .. i have opened SR for the filter issue.
Thanks
Saravanan.
Pegasystems
IN
Please share the SR number for tracking.
Hi Saravanan,
Thank you for providing the SR number here. I have tagged it with your post above (under Related Work field) for tracking it through here.
Regards,
Lochan | Online Community Moderator | Pegasystems Inc.
Accepted Solution
Pegasystems Inc.
US
The issue has been resolved. To address the problem, the following needed to be added to the prconfig.xml files in use by the BIX command line process:
<env name="database/databases/PegaRULES/defaultSchema" value="RULES_SCHEMA"/>
<env name="database/databases/PegaDATA/defaultSchema" value="DATA_SCHEMA"/>
Delta Dental of California
US
Hi Nick,
Thanks for suggesting this solution for the reason why Filter Criteria is not getting picked while executing the BIX Extract Rule.
I am using PRPC v7.1.7. I created the Dynamic system settings values for "prconfig/database/databases/PegaDATA/defaultSchema" instead of editing the prconfig.xml file (since I had read in another article that starting v6.2 these settings can be managed through DSS). But I still see that the Filter condition is not being applied when executing the Extract.
Attaching a screenshot of the configurations from SMA.