| Summary: | Cannot view traits for any resource on monitoring tab | ||
|---|---|---|---|
| Product: | [Other] RHQ Project | Reporter: | John Sanda <jsanda> |
| Component: | Monitoring | Assignee: | Jay Shaughnessy <jshaughn> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Corey Welton <cwelton> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 4.0.0 | CC: | hrupp, jshaughn, mazz, mfoley |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | 4.0.1 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | --- | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | |||
| Bug Blocks: | 585306 | ||
The stack trace in the description actually shows the problem for a group. Note in the stack trace that it specified that it cannot resolve the property 'group'. For an individual resource the stack trace is slightly different,
Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: resource of: org.rhq.core.domain.measurement.MeasurementDataTrait [SELECT measurementdatatrait
FROM org.rhq.core.domain.measurement.MeasurementDataTrait measurementdatatrait
LEFT JOIN measurementdatatrait.schedule.definition orderingField0
WHERE ( measurementdatatrait.schedule.resource.id = :resourceId
AND measurementdatatrait.id.timestamp = ( SELECT MAX(mdt.id.timestamp) FROM org.rhq.core.domain.measurement.MeasurementDataTrait mdt WHERE mdt.id.scheduleId = measurementdatatrait.id.scheduleId ) AND 1 = :maxTimestamp )
AND ( measurementdatatrait.resource.id IN ( SELECT measurementdatatrait.resource.id
FROM measurementdatatrait innerAlias
JOIN innerAlias.resource.implicitGroups g JOIN g.roles r JOIN r.subjects s
WHERE s.id = 10001 ) )
ORDER BY orderingField0.displayName ASC
It looks like I only get these exceptions when traits have not yet been reported by the agent. When I go to view traits after the agent has reported metrics, I do not get any exceptions. These exceptions occur only when the user is not an inventory manager. I was starting to think that this might be an issue with CriteriaQueryGenerator, but I am also see this type of issue with MeasurementDataTraitCriteria, so it does in fact seem specific to this criteria. *** Bug 697039 has been marked as a duplicate of this bug. *** commit b782d25b0bfbfa844a1061f67797edcc085eb8e0
Author: Jay Shaughnessy <jshaughn>
Date: Tue Apr 19 11:57:11 2011 -0400
[BZ 695753 - Cannot view traits for any resource on monitoring tab]
This occured only for non-permissioned users. There were two problems
with the authz token handling. First, the authz fragment needed to be be
overriden (in SLSB) as the "resource" entity must be accessed through
the "schedule" entity on MeasurementData. Second, we should not be using
the GROUP authz token type regardless of the criteria, because MeasurementData
is at the resource level only. Meaning, we are not querying for "group-level"
data regardless of whether we are filtering on the group embership for the
target resource.
related:
commit bd77733861fa91606fe82516eea63972fb19f18f
Author: Jay Shaughnessy <jshaughn>
Date: Tue Apr 19 12:45:04 2011 -0400
related to [BZ 697098]
Monitoring->Traits for a compat group was showing traits for explicit
and implicit members. Restrict to explicit.
Test Notes:
Perm and non-perm users. Ensure that only explicit members that the user has
access to are included. For the non-perm group view ensure that there exist some resources of the compat group type that are not in a group assigned to the user and that those inaccessible resources are excluded.
documenting that this is *not in rhq 4.0 Release. only in master. retest in master. i see correct behavior on for monitoring traits on a build created from master (ie, not the 4.0 community release). Bookkeeping - closing bug - fixed in recent release. Bookkeeping - closing bug - fixed in recent release. Bookkeeping - closing bug - fixed in recent release. Bookkeeping - closing bug - fixed in recent release. |
Description of problem: When trying to view traits for any resource, I the following error message: Failed to fetch traits for criteria [org.rhq.core.domain.criteria.MeasurementDataTraitCriteria@3fef] with this exception in the log: Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: group of: org.rhq.core.domain.measurement.MeasurementDataTrait [SELECT measurementdatatrait FROM org.rhq.core.domain.measurement.MeasurementDataTrait measurementdatatrait LEFT JOIN measurementdatatrait.schedule.definition orderingField0 WHERE ( measurementdatatrait.schedule.resource.id IN ( SELECT res.id FROM org.rhq.core.domain.resource.Resource res JOIN res.implicitGroups ig WHERE ig.id = :groupId ) AND measurementdatatrait.id.timestamp = ( SELECT MAX(mdt.id.timestamp) FROM org.rhq.core.domain.measurement.MeasurementDataTrait mdt WHERE mdt.id.scheduleId = measurementdatatrait.id.scheduleId ) AND 1 = :maxTimestamp ) AND ( measurementdatatrait.group.id IN ( SELECT measurementdatatrait.group.id FROM measurementdatatrait innerAlias JOIN innerAlias.group.roles r JOIN r.subjects s WHERE s.id = 10001 ) OR measurementdatatrait.group.id IN ( SELECT measurementdatatrait.group.id FROM measurementdatatrait innerAlias JOIN innerAlias.group.clusterResourceGroup crg JOIN crg.roles r JOIN r.subjects s WHERE crg.recursive = true AND s.id = 10001 ) OR measurementdatatrait.group.id IN ( SELECT measurementdatatrait.group.id FROM measurementdatatrait innerAlias JOIN innerAlias.group.subject s WHERE s.id = 10001 ) ) ORDER BY orderingField0.displayName ASC ] at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:616) at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:95) at org.jboss.ejb3.entity.TransactionScopedEntityManager.createQuery(TransactionScopedEntityManager.java:134) at org.rhq.enterprise.server.util.CriteriaQueryGenerator.getQuery(CriteriaQueryGenerator.java:743) at org.rhq.enterprise.server.util.CriteriaQueryRunner.getCollection(CriteriaQueryRunner.java:98) at org.rhq.enterprise.server.util.CriteriaQueryRunner.execute(CriteriaQueryRunner.java:69) at org.rhq.enterprise.server.measurement.MeasurementDataManagerBean.findTraitsByCriteria(MeasurementDataManagerBean.java:851) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112) at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166) at org.rhq.enterprise.server.common.PerformanceMonitorInterceptor.monitorHibernatePerformance(PerformanceMonitorInterceptor.java:32) at sun.reflect.GeneratedMethodAccessor182.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118) at org.rhq.enterprise.server.common.TransactionInterruptInterceptor.addCheckedActionToTransactionManager(TransactionInterruptInterceptor.java:77) at sun.reflect.GeneratedMethodAccessor181.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118) at org.rhq.enterprise.server.authz.RequiredPermissionsInterceptor.checkRequiredPermissions(RequiredPermissionsInterceptor.java:156) at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118) at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) ... 97 more Version-Release number of selected component (if applicable): How reproducible: always Steps to Reproduce: 1. For any resource that has monitoring enabled, go to the Monitoring tab. 2. Go to the Traits subtab. 3. Actual results: No traits are displayed and I get this error message, Failed to fetch traits for criteria [org.rhq.core.domain.criteria.MeasurementDataTraitCriteria@3fef] Expected results: Should see traits and no exception in the server log Additional info: