Skip to Content

SAP NetWeaver portal allows for “online” deployment of .par files using the Portal Support Desk, this so-called “hot deployment” will technically place the .par file in the PCD directory of the node you are connected to and then deploy the .par file online. In some cases this can lead to issues; if KM objects are being deployed KM will crash because “hot deployments” are not supported.

http://wiki.sdn.sap.com/wiki/display/KMC/KMC+-+Hot+Deployment+Checker

To restore service, KM needs to be restarted with means that the portal nodes need to be (rolling) restarted. Although this will restore service, and the change has been applied, the (partial) outage will already have affected end-users.

A prettier way is a “manual” deployment. In this case the .par files are placed in the PCD directory on the file-system and the portal (rolling) restarted. The changes will be deployed upon restart, and there will be less to no effect to end-users.

1) check for existing files;

ls -altr /usr/sap/<SID>/<instance>/j2ee/cluster/server?/apps/sap.com/irj/servlet_jsp/irj/root/web-inf/deployment//<parfile>.

NB: search on all server nodes (server?), all subdirectories of the deployment folder (deployment/*/) and all extensions of the .par file (<parfile>.*). This search should return a ../deployment/temp//usr/sap/<SID>/<instance>/j2ee/cluster/server0/apps/sap.com/irj/servlet_jsp/irj/root/web-inf/deployment/pcd/

3) perform a (rolling) restart;

NB: you can restart the whole system but obviously that will be an outage to end-users. For a rolling restart each server node is restarted one-by-one, you can use jcmon to do this manually.

4) check deployment (after restart completed);

ls -altr /usr/sap/<SID>/<instance>/j2ee/cluster/server?/apps/sap.com/irj/servlet_jsp/irj/root/web-inf/deployment//<parfile>.

NB: same search as in step 1) only this time the .par file copied in step 2) should have been renamed to .par.bak upon succesful deployment. Also you can compare the time-stamp and file-size of the temp/<parfile>.bak against the file in the pcd directory.

 

Lessons learned:

1) A “hot-deployment” is not supported for KM objects and causes KM to crash, requiring a restart. Therefore, a manual deployment which deploys the objects upon restart is a better method because the end-users will not be affected by any errors.

2) Monitor the pcd subfolders and compare time-stamps and file-sizes to confirm correct deployment (to all server nodes).

To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

  1. Ricardo Quintas
    Hi Walter,
    loved you post.

    This is indeed a new perspective for KM PAR upload that I had never thought about it.

    But still I would be careful with certain KM developments as they are not all the same.

    Some KM developments are just cosmetic, but others interfere with the properties – and for these I would be on the safe side and do a full restart.

    And then there’s the KM services as well.
    My experience tells me that for KM services is always recommended to do a full restart, thus avoiding surprises.
    ;o)

    Kind Regards

    /Ricardo

    (0) 
    1. Walter Koenders Post author
      Hi Ricardo,

      Thanks for your comments,

      You are right there are different KM developments and they are not all the same. .par files containing KM content can usually be deployed online without the portal requiring a restart. If in doubt, a full restart is always the safest option.

      Best regards,
      Walter

      (0) 
  2. Tobias Hofmann
    “KM needs to be restarted with means that the portal nodes need to be (rolling) restarted. Although this will restore service, and the change has been applied, the (partial) outage will already have affected end-users.
    […]
    In this case the .par files are placed in the PCD directory on the file-system and the portal (rolling) restarted.”
    -> Where is the difference? You’ll have to do a restart in both cases.

    “For a rolling restart each server node is restarted one-by-one”
    -> Do I have to restart the whole server node? Restarting only the portal application won’t restore the KM services?

    br,
    Tobias

    (0) 
    1. Walter Koenders Post author
      Hi Tobias,

      Because online km deployments are not supported, if you deploy the .par file online km will crash and end-users will get errors accessing any km iViews.

      By putting the .par files in the PCD directory and performing the rolling restart you will avoid the end-users seeing error messages.

      Best regards,
      Walter

      (0) 
  3. Michael Nicholls
    .. the advantage of a rolling restart, especially if I only have 1 server node on an instance. Even with two server nodes, there’s a 50/50 chance some of my users will be affected.

    Can you please elaborate a bit more?

    (0) 
    1. Walter Koenders Post author
      Hi Michael,

      You can not do a rolling restart if you have one server node in the instance, you need 2 or more to be able to do a rolling restart without causing an outage (to the instance).

      The dispatcher ensures that requests will not be sent to the server node that is being restarted, for stateless transactions this is transparent to the end-user, however statefull transactions (specifically webdynpro transactions) may fail if the end-user is mid-transaction, the portal will display an error message with the option to restart the transaction.

      In practice, we haven’t had any complaints about transactions having to be restarted during a rolling restart, but when km crashes it is considered a full outage, and there will be numerous calls to the service desk.

      Hope this helps,

      Best regards,
      Walter

      (0) 

Leave a Reply