History | Log In     View a printable version of the current page.  
HQ 4.0 EE Release is Now Available | HQ 3.2.5-EE Maintenance Release is Now Available
Issue Details (XML | Word | Printable)

Key: HHQ-2366
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Scott Feldstein
Reporter: Kashyap Parikh
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Hyperic HQ

Partially approving a platform AIQ leaves all servers in new state in AIQ

Created: 04/Sep/08 03:36 PM   Updated: 24/Sep/08 11:30 AM
Component/s: Auto-discovery, Server
Affects Version/s: 4.0.0, 3.2.5
Fix Version/s: 4.0.0, 3.2.6

File Attachments: 1. File server.log.frag (106 kb)

Environment: 3.2.5 #708
Issue Links:
Depends
 

Verify By: Kashyap Parikh
Last comment: 8 weeks, 4 days ago
Resolution Date: 22/Sep/08 11:54 AM


 Description  « Hide
To reproduce:

1) Deploy and configure HQ agent on a brand new platform
2) In auto discovery portlet uncheck one or more servers under this platform and try to approve the platform
3) Approval comes back with all servers and platform still in auto discovery portlet. All servers have status = new and platform has status = modified
4) This time check all servers in portlet and approve the platform. This fails with following error in server.log (full server log attached).
5) The workaround to remove this platform from AIQ is to click on platform name in auto discovery portlet and on next page click OK.

2008-09-04 15:31:33,414 ERROR [http-0.0.0.0-7080-24] [org.hyperic.hq.ui.action.portlet.autoDisc.ViewAction] Failed to approve AI report
java.rmi.ServerException: RuntimeException; nested exception is:
        org.hyperic.hq.common.SystemException: javax.ejb.TransactionRolledbackLocalException: Error creating platform from AI data: Server id 10256 already added; Caus
edByException is:
        Error creating platform from AI data: Server id 10256 already added
        at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:386)
        at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:196)
        at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
        at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
        at org.jboss.ejb.Container.invoke(Container.java:873)
        at sun.reflect.GeneratedMethodAccessor348.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
        at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:155)
        at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:104)
        at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:179)
        at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:165)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeNextBoth(HQApp.java:412)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeProxyNext(HQApp.java:465)
        at org.hyperic.txsnatch.ProxySnatch.invoke(ProxySnatch.java:37)
        at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeNextBoth(HQApp.java:412)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeProxyNext(HQApp.java:465)
        at org.hyperic.txsnatch.ProxySnatch.invoke(ProxySnatch.java:37)
        at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
        at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:97)
        at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
        at $Proxy248.processQueue(Unknown Source)
        at org.hyperic.hq.ui.action.portlet.autoDisc.ProcessQueueAction.execute(ProcessQueueAction.java:161)
        at org.hyperic.hq.ui.action.BaseRequestProcessor.processActionPerform(BaseRequestProcessor.java:63)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.hyperic.hq.ui.AuthenticationFilter.doFilter(AuthenticationFilter.java:153)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.hyperic.hibernate.filter.SessionFilter$1.run(SessionFilter.java:59)
        at org.hyperic.hq.hibernate.SessionManager.runInSessionInternal(SessionManager.java:79)
        at org.hyperic.hq.hibernate.SessionManager.runInSession(SessionManager.java:68)
        at org.hyperic.hibernate.filter.SessionFilter.doFilter(SessionFilter.java:57)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.hyperic.hq.product.servlet.filter.JMXFilter.doFilter(JMXFilter.java:324)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.hyperic.hq.common.SystemException: javax.ejb.TransactionRolledbackLocalException: Error creating platform from AI data: Server id 10256 already added; C
ausedByException is:
        Error creating platform from AI data: Server id 10256 already added
        at org.hyperic.hq.bizapp.server.session.AIBossEJBImpl.processQueue(AIBossEJBImpl.java:483)
        at sun.reflect.GeneratedMethodAccessor3579.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
        at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
        at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)
        at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:154)
        at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:54)
        at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeNextBoth(HQApp.java:416)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeNext(HQApp.java:472)
        at org.hyperic.txsnatch.TxSnatch.invoke(TxSnatch.java:71)
        at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
        at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
        at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeNextBoth(HQApp.java:416)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeNext(HQApp.java:472)
        at org.hyperic.txsnatch.TxSnatch.invoke(TxSnatch.java:71)
        at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
        at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
        ... 64 more
Caused by: javax.ejb.TransactionRolledbackLocalException: Error creating platform from AI data: Server id 10256 already added; CausedByException is:
        Error creating platform from AI data: Server id 10256 already added
        at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:247)
        at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
        at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeNextBoth(HQApp.java:416)
        at org.hyperic.hq.application.HQApp$Snatcher.invokeNext(HQApp.java:472)
        at org.hyperic.txsnatch.TxSnatch.invoke(TxSnatch.java:71)
        at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
        at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
        at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
        at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
        at org.jboss.ejb.Container.invoke(Container.java:873)
        at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)
        at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)
        at $Proxy221.processQueue(Unknown Source)
        at org.hyperic.hq.bizapp.server.session.AIBossEJBImpl.processQueue(AIBossEJBImpl.java:477)
        ... 84 more


 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Kashyap Parikh - 17/Sep/08 12:58 PM
I am able to reproduce this in 4.0 as well.

Scott Feldstein - 19/Sep/08 01:44 AM
this was already partially fixed. The servers all still show up after a partial add but once all of them are added there are no duplicate server errors. The dups are simply ignored.

Kashyap Parikh - 22/Sep/08 11:54 AM
Fixed and verified.