Too many cache updates hangs SAP PI systems

If you find SAP PI system is unresponsive and thread dump shows most of the java threads showing the following stack information, it means that there are a lot of CPA cache update requests that are waiting for an active cache update to complete.

at java.lang.Thread.sleep(J)V(Native Method)
 at com.sap.aii.af.service.cpa.impl.j2ee.sapengine630.SAPJ2EEClusterController.blockAndSetLock(Ljava.lang.String;)Z(SAPJ2EEClusterController.java:784)
 at com.sap.aii.af.service.cpa.impl.cache.CacheManager.performCacheUpdate(ZZ)Lcom.sap.aii.af.service.cpa.impl.cache.directory.DirectoryDataParseErrorInfo;
(CacheManager.java:466)

At a given time only one cache update has access to update the database with the change. Other cache requests have to wait for the ongoing cache update to remove its enqueue on completion. While these requests are waiting, they occupy application threads. In the event of high number of cache updates, it may lead the application to stall as the threads are all waiting.

In order to avoid the problem from reoccuring, SAP has introduced a lock timeout parameter with SAP note 2043602

Comments

Popular posts from this blog

OS/DB Migration - CMD. STR, TOC, EXT, R3load, DDLDBS.TPL and more

Fixing Inconsistent Table - Table activation fails due to inconsistency between DD and DB

301 Redirect Using SAP Web Dispatcher