From: <sc...@hy...> - 2010-02-27 00:51:27
|
Author: scottmf Date: 2010-02-26 16:51:11 -0800 (Fri, 26 Feb 2010) New Revision: 14330 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14330 Modified: trunk/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java Log: [HHQ-3759] added extra checking around async delete Modified: trunk/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java 2010-02-27 00:44:08 UTC (rev 14329) +++ trunk/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java 2010-02-27 00:51:11 UTC (rev 14330) @@ -46,6 +46,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.hibernate.ObjectNotFoundException; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; import org.hyperic.hq.appdef.shared.AppdefEntityID; import org.hyperic.hq.appdef.shared.AppdefEntityValue; @@ -586,6 +587,15 @@ resource = resMan.findResourceById((Integer) o); } List measIds = null; + try { + if (resource == null || resource.isInAsyncDeleteState()) { + continue; + } + } catch (ObjectNotFoundException e) { + // resource is in async delete state, ignore + _log.debug("resource not found from object=" + o ,e); + continue; + } if (measCache != null) { measIds = (List)measCache.get(resource.getId()); } |