Tech Tip: HOTFIX for ‘Performance issue with Virtual Placement Manager’ (DE161353)

Document created by biecl01 Employee on May 9, 2016Last modified by biecl01 Employee on Oct 14, 2016
Version 3Show Document
  • View in full screen mode

Problem: In large environments (+2000 servers) with multiple custom groups defined via CSV files, expanding the list of available servers in a large group (+1000 servers) takes too long (up to 7 minutes) in the VPM (Virtual Placement Manager) UI.

 

Solution: The attached patch files address this problem. Follow the steps outlined below to deploy the patch on your system. Tested on CCC/VPM 2.9 with Oracle 11.2. Use the patch files that correspond to your version of CCC.

 

Before deploying the patch:

Unpack the attached VPM_PATCH.zip file. The zip file contains:

  • RollupMetricsWithBusinessHoursStep.class
  • BusinessHoursDao.class
  • IBusinessHoursMapper.class
  • VPM_AVAILABLE_SERVER_MV.sql

 

Execute the following query to provide a 'materialized view create grant' to the CCC user using 'SYS Schema':

GRANT CREATE MATERIALIZED VIEW TO {CCC USER};

Deploy the SQL file (Windows/Linux):

Open the Data Manager Database (Oracle) console and run the VPM_AVAILABLE_SERVER_MV.sql script.

 

Deploy the VPM_PATCH files on Windows:

1.    Make a backup copy of the following files by copying them to your desktop folder:

  • <ccc_install_folder>\ApacheTomcat\webapps\ccc\WEB-INF\classes\com\hyperformix\hyfy\server\rollups\commands\triggeredUpdate\RollupMetricsWithBusinessHoursStep.class
  • <ccc_install_folder>\ApacheTomcat\webapps\ccc\WEB-INF\classes\com\hyperformix\pb\server\dao\BusinessHoursDao.class
  • <ccc_install_folder>\ApacheTomcat\webapps\ccc\WEB-INF\classes\com\hyperformix\pb\server\mapper\IBusinessHoursMapper.class
  • <ccc_install_folder>\ApacheTomcat\webapps\ccc\WEB-INF\classes\com\hyperformix\pb\server\mapper\IPrecalcDataMapper.xml

2.    Replace the class files with the ones you extracted from the attached zip file.

3.    Add the following element in IPrecalcDataMapper.xml:

     <select id="serversWithBaselineRollup" resultType="Identifier">

        select distinct guid from VPM_AVAILABLE_SERVER_MV where baseline_id = #{baselineId} and precalc_id = #{typeId}

      </select>

4.    Save the xml file.

5.    Restart the CCC service:

  • Click Start, Control Panel, Administrative Tools. Click Services.
  • Select the Apache Tomcat 7.0 CA_CCC service and restart it.

 

To revert the VPM PATCH on Windows, follow these steps:

  1. Re-deploy the previously backed-up files.
  2. Execute the following query on CCC schema:
    DROP MATERIALIZED VIEW VPM_AVAILABLE_SERVER_MV;
  3. Restart the CCC service:
  • Click Start, Control Panel, Administrative Tools. Click Services.
  • Select the Apache Tomcat 7.0 CA_CCC service and restart it.

 

Deploy the VPM_PATCH files on Linux:

1.    Make a backup copy of the following files by copying them to your desktop folder:

  • <ccc_install_folder>/ApacheTomcat/webapps/ccc/WEB-INF/classes/com/hyperformix/hyfy/server/rollups/commands/triggeredUpdate/RollupMetricsWithBusinessHoursStep.class
  • <ccc_install_folder>/ApacheTomcat/webapps/ccc/WEB-INF/classes/com/hyperformix/pb/server/dao/BusinessHoursDao.class
  • <ccc_install_folder>/ApacheTomcat/webapps/ccc/WEB-INF/classes/com/hyperformix/pb/server/mapper/IBusinessHoursMapper.class
  • <ccc_install_folder>/ApacheTomcat/webapps/ccc/WEB-INF/classes/com/hyperformix/pb/server/mapper/IPrecalcDataMapper.xml

2.    Replace the class files with the ones you extracted from the attached zip file.

3.    Add the following element in IPrecalcDataMapper.xml:

     <select id="serversWithBaselineRollup" resultType="Identifier">

        select distinct guid from VPM_AVAILABLE_SERVER_MV where baseline_id = #{baselineId} and precalc_id = #{typeId}

      </select>

4.    Save the xml file.

5.    Restart the CCC service:

  • In a terminal, navigate to the bin directory of Apache Tomcat Server: <ccc_install_folder>/ApacheTomcat/bin
  • Do:
    • ./stop.sh
    • ./start.sh

 

To revert the VPM PATCH on Linux, follow these steps:

  1. Redeploy the backed-up files accordingly
  2. Execute the below query on CCC schema:
    DROP MATERIALIZED VIEW VPM_AVAILABLE_SERVER_MV;
  3. Restart the CCC service:
  • In a terminal, navigate to the bin directory of Apache Tomcat Server: <ccc_install_folder>/ApacheTomcat/bin
  • Do:
    • ./stop.sh
    • ./start.sh

Attachments

Outcomes