Details: Steps to check for Hot Deployment of KMC Components
The SAP Knowledge Management and Collaboration (KMC) components are managed by the KMC's "Component Runtime (CRT)". The CRT consists of services running inside the portal runtime (PRT) of the SAP Enterprise Portal.
In this context, hot-deployment means the ability to deploy a KMC component without having to restart the surrounding container which loaded all these components (the PRT).
When a new KMC component is deployed, the CRT (triggered by the deployed components call to CrtClassLoaderRegistry.addClassLoader()) will be reinitialized and new instances of KMC objects (like for example the
ResourceFactory) will be created.
If some components keep references to KMC objects, the hot-deployment will fail:
1. The "remembered" references held by some components will prevent the
old KMC object instances from being garbage collected. Thus memory
consumption will increase with each hot-deployment step until an
OutOfMemoryError is thrown by the virtual machine.
2. If such components not only hold references to some old KMC objects,
but still use them, they will also fail since the old objects are
not valid any more.
While SAP can verify that its own services are hot-deployment aware, such verification currently cannot be done for custom components.
For this reason, hot-deployment of KMC components is currently not supported by SAP.
How to identify if a Hot Deployment has occured:
- Navigate to System Administration -> Monitoring -> Knowledge
Management -> Component Monitor.
- Click on the properties of "Systeminfo", choose tab
- If there's only one entry there, like "_0._startup Wed Sept
05 07:26:14 CET 2007" everything is okay (no hot deployment).
If there is more than one entry:
o If the starting times of the entries differ for more than 10
minutes, it is safe to say that hot deployment has been done
o If the starting times differ for less than 10 minutes, there
might be a different cause than manual hot deployment. Further
investigation is necessary.
Tool: Deployment Checker for KMC
The Hot Deployment Checker for Knowledge Management & Collaboration (KMC) is a tool for checking whether hot deployment of one or more SAP NetWeaver Portal applications is safe. Based on the way that KMC reacts to hot deployment and in view of the fact that SAP NetWeaver Portal allows transitive references, the deployment of a SAP NetWeaver Portal application that has nothing to do with KMC at first glance may require a system restart. The tool can be deployed directly and used without restarting the server. It is available as a ready-to-use PNNI Augmented Routing (PAR) version.
Error in default.trc could be:
- Default trace shows: '...Repository framework startup was not triggered by knowledgemanagement portal service. (Either because hot-deployment occurred or because a faulty custom KM component triggered the startup.)'
- "Error when acquiring central lock", com.sapportals.wcm.service.taskqueue.TaskQueue tries to create a lock with user session lifetime from a non-application thread: '...com.sap.engine.services.applocking.exception.AppLockingTechnicalLockException: The lifetime can not be the user-session, because currently no user is logged in. Creating locks for the system-user is not allowed. #at com.sap.engine.services.applocking.AbstractBaseLocking. getObjectForLifetime(AbstractBaseLocking.java:483) #at com.sap.engine.services.applocking.LogicalLockingImpl.
Happy Trouble Shooting !!!!!!