Bug 1080909

Summary: DynaGroup expression evaluator is not strict when grouping by resource configuration property
Product: [Other] RHQ Project Reporter: Libor Zoubek <lzoubek>
Component: Core ServerAssignee: Libor Zoubek <lzoubek>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.10CC: fbrychta, hrupp, theute
Target Milestone: ---   
Target Release: RHQ 4.11   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1090130 (view as bug list) Environment:
Last Closed: 2014-07-21 10:13:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1069544, 1090130    

Description Libor Zoubek 2014-03-26 10:03:16 UTC
Description of problem:


Version-Release number of selected component (if applicable):
RHQ 4.10.0

How reproducible: always


Steps to Reproduce:
1. have EAP6 in domain mode
3. create a dynagroup with following expression:

resource.type.plugin = JBossAS7
resource.type.name = Managed Server
groupby resource.resourceConfiguration[group]

4. hit recalculate

Actual results:

4 groups are generated, including groups full-sockets and full-ha-sockets. But those 2 does not come from 'group' config property value, but from 'server-group' config property

http://tinypic.com/view.php?pic=25gxizn&s=8#.UzKks3X221k


Expected results:

Groups based on 'server-group' property value must not be created.

Additional info:

Comment 1 Libor Zoubek 2014-03-26 10:06:53 UTC
This is what comes out of dg expression

SELECT res.id FROM Resource res  JOIN res.resourceConfiguration conf, PropertySimple simple, PropertyDefinition simpleDef JOIN res.resourceType.resourceConfigurationDefinition confDef WHERE res.resourceType.plugin = :arg1  AND res.resourceType.name = :arg2  AND simple.name LIKE :arg3 ESCAPE '\'  AND simple.stringValue = :arg4  AND res.inventoryStatus = org.rhq.core.domain.resource.InventoryStatus.COMMITTED  AND simple.configuration = conf  AND simpleDef.configurationDefinition = confDef  AND simple.name = simpleDef.name  AND simpleDef.type != 'PASSWORD'


"simple.name LIKE :arg3" has to be changed to "simple.name = :arg3"

Comment 2 Heiko W. Rupp 2014-03-26 10:15:24 UTC
Can we make sure that old existing expressions continue to work
E.g. by saying

resource.resourceConfiguration[group]  is a LIKE query
and
resource.resourceConfiguration["group"] is a = query

may also need an additional checkbox field in the wizzard popup to
allow to select exact / like matching.

Comment 3 Filip Brychta 2014-05-19 11:42:26 UTC
Verified that a query is strict by default on
Version :	
4.12.0-SNAPSHOT
Build Number :	
494e428

Comment 4 Heiko W. Rupp 2014-07-21 10:13:51 UTC
Bulk closing of RHQ 4.11 issues, now that RHQ 4.12 is out.

If you find an issue with those, please open a new BZ, linking to the old one.