When having two or more metrics with similar names (e.g., ParcelMetric, LineParcelMetric) dirlling down on ParcelMetric does not work as expected (can not drill down on the second level).

When having two or more metrics with similar names (e.g., ParcelMetric, LineParcelMetric) dirlling down on ParcelMetric does not work as expected (can not drill down on the second level).

book

Article ID: KB0088505

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
==========
We have two metrics named in the following pattern: A--- *A*, e.g. ParcelMetric -- LineParcelMetric. When drilling down on a chart based on ParcelMetric, the second level could not be expanded. Drilling down on a chart based on LineParcelMetric works as expected (we could expand on the second and third level to get the details).

Environment:
==========
TIBCO BusinessEvents Views 5.0.1

Symptoms:
=========
Drilling down on any charts based on ParcelMetric, the second level cannot be expand for more detailed data.

Cause:
======
The log file shows that the query on the second level goes to a wrong DVM table (D_LINEPARCELMETRICDVM, the correct table should be D_PARCELMETRICDVM):
>>>>>>>>>>>>>>
2012 Apr 25 11:16:41:765 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [jdbcstore.impl] [dashboard-class] LoadMetrics loading primary tables for be.gen.Dashboards.Metrics.ParcelMetric entries from D_PARCELMETRIC
2012 Apr 25 11:16:41:765 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [sql.query] [dashboard-class] Load metric sql query : select T.cacheId, T.id$, T.extId$, T.state$, T.time_created$, T.time_last_modified$, T.parent$_id$, T.FraudLevel, T.Count from D_PARCELMETRIC T WHERE T.ID$ = ?
2012 Apr 25 11:16:41:768 GMT +8 chenghui-lt1 Info [http-8080-Processor4] - [dashboard.psvr.plugins.beviews.actions] [dashboard-class] getTuple::Execution of QuerySpec[hashcode=218089178] took 5 msecs...
2012 Apr 25 11:16:41:769 GMT +8 chenghui-lt1 Info [http-8080-Processor4] - [dashboard.psvr.plugins.beviews.actions] [dashboard-class] getTuple::Traversal of QuerySpec[hashcode=218089178] result set took 0 msecs...
2012 Apr 25 11:16:41:769 GMT +8 chenghui-lt1 Info [http-8080-Processor4] - [dashboard.psvr.plugins.beviews.actions] [dashboard-class] Finding Next In Line For Tuple[id=7,sysTimeStamp=1335323801769,dirty=false,values=[[id=id,name=@id,datatype=long,value=7],[id=extid,name=@extid,datatype=string,value=Dashboards.Metrics.ParcelMetric^HIGH],[id=parentid,name=@parentid,datatype=long,value=null],[id=FA8E8FC6-75DF-26C1-5D9B-26763D120C03,name=FraudLevel,datatype=string,value=HIGH],[id=0EC815FF-8CAF-D64B-855F-DCA702AC0326,name=Count,datatype=int,value=2]]
2012 Apr 25 11:16:41:770 GMT +8 chenghui-lt1 Info [http-8080-Processor4] - [dashboard.psvr.plugins.beviews.actions] [dashboard-class] getInstanceCount::Firing [drilldown * from be.gen.Dashboards.Metrics.LineParcelMetric where @id = 7] with queryspec hashcode as -643935229
2012 Apr 25 11:16:41:770 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [metric.query] [dashboard-class] Execute count query : drilldown * from be.gen.Dashboards.Metrics.LineParcelMetric where @id = 7
2012 Apr 25 11:16:41:771 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [metric.query] [dashboard-class] Group found(0) : &gtdrilldown * from be.gen.Dashboards.Metrics.LineParcelMetric where @id = 7<
2012 Apr 25 11:16:41:771 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [metric.query] [dashboard-class] Group found(1) : &gtdrill<
2012 Apr 25 11:16:41:772 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [metric.query] [dashboard-class] Group found(2) : &gtdown * <
2012 Apr 25 11:16:41:772 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [metric.query] [dashboard-class] Group found(3) : &gtbe.gen.Dashboards.Metrics.LineParcelMetric<
2012 Apr 25 11:16:41:773 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [metric.query] [dashboard-class] Group found(4) : >@id = 7<
2012 Apr 25 11:16:41:773 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [metric.query] [dashboard-class]
2012 Apr 25 11:16:41:773 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [metric.query] [dashboard-class] Using D_LINEPARCELMETRICDVM for query
2012 Apr 25 11:16:41:774 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [metric.query] [dashboard-class] Converted condition : T.PID$ = ?
2012 Apr 25 11:16:41:774 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [sql.query] [dashboard-class] Load metric sql query : select count(1) from D_LINEPARCELMETRICDVM T WHERE T.PID$ = ?
2012 Apr 25 11:16:41:776 GMT +8 chenghui-lt1 Info [http-8080-Processor4] - [dashboard.psvr.plugins.beviews.actions] [dashboard-class] getInstanceCount::Got count as [0] for QuerySpec[hashcode=-643935229] in 6 msecs...
2012 Apr 25 11:16:41:777 GMT +8 chenghui-lt1 Debug [http-8080-Processor4] - [dashboard.psvr.plugins.beviews.actions.drilldown] [dashboard-class] 66373A606733656F36263D32643A195A::Processing TableRequest[tableTreePath=0] took 14 msecs...
<<<<<<<<<<<<<<

Resolution:
=========
To workaround the issue, rename the metrics and avoid using similar names (avoid name patern "A", "*A*").

Example:
Rename LineParcelMetric with a different name, e.g., ParcelLineParcel. Drilling down on the chart based on ParcelMetric will work as expected.

Issue/Introduction

When having two or more metrics with similar names (e.g., ParcelMetric, LineParcelMetric) dirlling down on ParcelMetric does not work as expected (can not drill down on the second level).