ZCM Content web services causing database high utilization and slowness for the zone.

  • 7009782
  • 22-Nov-2011
  • 27-Apr-2012

Environment

Novell ZENworks 10 Configuration Management with Support Pack 3 - 10.3

Situation

High utilization on the database.
Slow logins.
Java heap out of memory errors.

Resolution

This is fixed in version 10.3.4 - see KB 7008244 "ZENworks Configuration Management 10.3.4 - update information and list of fixes" which can be found at https://www.novell.com/support
 
This is fixed in version 11.1 - see KB 7008746 "ZENworks Configuration Management 11.1 - update information and list of fixes" which can be found at https://www.novell.com/support

Additional Information

Exorbitant times on ContentWebService (303658ms = ~5 minutes):

[DEBUG] [4/1/11 10:25:11 AM] [] [Content Web Service] [] [getContentInfoEx
complete, time: 303658ms, item count: 9, cache hits: 7, first contentinfo:
596d96598c84f2ac23c1c0421675c57e, last contentinfo:
c270bc5a206e54e8a44b613fc2ec3c9a, ignore cache: false, remote address:
10.57.162.17, thread: 4169] [] []

Heap memory errors:

[DEBUG] [4/1/11 10:24:14 AM] [] [Content Web Service] []
[java.lang.OutOfMemoryError: Java heap space ] [] []

Thread Stack Trace of getContentInfoEx (51 threads stuck here) at:

com.novell.zenworks.datamodel.session.hibernate.DefaultHibernateSessionManager.openSession(int) at
com.novell.zenworks.datamodel.session.hibernate.DefaultHibernateSessionManager.openSession()
...
com.novell.zenworks.datamodel.services.content.ContentUtil.getContentHTTPPaths(com.novell.zenworks.datamodel.services.ServiceStore,
com.novell.zenworks.datamodel.objects.content.Content, boolean) at
com.novell.zenworks.webservice.contentservice.ContentWebServiceImpl.getContentInfoEx(com.novell.zenworks.webservice.contentservice.schema.GetContentInfoExRequest)

Thread Stack Trace of c3p0 issue at:

com.mchange.v2.c3p0.impl.NewPooledConnection.markClosedProxyConnection(com.mchange.v2.c3p0.impl.NewProxyConnection, boolean)
...
com.mchange.v2.c3p0.impl.NewProxyConnection.close()
...
org.hibernate.connection.C3P0ConnectionProvider.closeConnection(java.sql.Connection)