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:
- Re-deploy the previously backed-up files.
- Execute the following query on CCC schema:
DROP MATERIALIZED VIEW VPM_AVAILABLE_SERVER_MV;
- 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:
To revert the VPM PATCH on Linux, follow these steps:
- Redeploy the backed-up files accordingly
- Execute the below query on CCC schema:
DROP MATERIALIZED VIEW VPM_AVAILABLE_SERVER_MV;
- Restart the CCC service:
- In a terminal, navigate to the bin directory of Apache Tomcat Server: <ccc_install_folder>/ApacheTomcat/bin
- Do: