A BQL query (Query.Util.executeInDynamicQuerySession) returns null as @parent property when the slave concept is empty.

A BQL query (Query.Util.executeInDynamicQuerySession) returns null as @parent property when the slave concept is empty.

book

Article ID: KB0094060

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
============
A BQL query (Query.Util.executeInDynamicQuerySession) returns null as @parent property when the slave concept is empty.


Environment:
============
TIBCO BusinessEvents 5.0.0
All Operating Systems


Symptoms:
=========
The rule function executes a query. The result is null when actual @parent concept should be returned. When the same query was run again with “all” logging enabled, the query returned a "java.lang.StackOverflowError".


Cause:
=======
A contained concept was created and it tried to load the parent concept using BQL query (Query.Util.executeInDynamicQuerySession). TIBCO BusinessEvents 5.0 reports a stack overflow error when query is executed after Hotfix1 or Hotfix2 has been installed.

BQL console was enabled to a test sample to check the content of the master concept. It showed the property slave@parent was not set for the slave concept when using Hotfix1 or Hotfix2, thus causing the BQL query to not work.

Using BE sample example BQL, copy the bql.jar to BE_HOME/lib directory and start the BQL and Inference Agent. Ensure that EAR file is rebuilt before starting application in different version.

Run the query using BQL Console:

select * from /Concepts/Slave

The SQL below must fail if @parent is not set for the child concept:

String query =
            "select distinct m from "+
            "/Concepts/Slave s , /Concepts/Master m "+
            "where s.Prop1 = $param and "+
            "s@parent = m";


On BusinessEvents 5.0 base version, a value is returned for the parent concept but not in Hotfix1 or Hotfix2. In Hotfix 2 where the query just hangs.


Resolution:
============
This issue will be fixed in BusinessEvents 5.0 HF3 and raised as CR BE-13025.

Issue/Introduction

A BQL query (Query.Util.executeInDynamicQuerySession) returns null as @parent property when the slave concept is empty.