Engineering Lifecycle Management Wiki - Deployment
Deployment Web
Planning and design
Installing and upgrading
Migrating and evolving
Integrating
Administering
Monitoring
Troubleshooting
Community information and contribution guidelines
Create new topic
Topic list
Search
Advanced search
Notify
RSS
Atom
Changes
Statistics
Web preferences
E
dit
A
ttach
P
rintable
TWiki
>
Deployment Web
>
DeploymentPlanningAndDesign
>
PerformanceDatasheetsAndSizingGuidelines
>
TRSResumablePerformanceReport
Revision 14 - 2026-10-16 - 15:26:14 -
JayrajsinhGohil
<p style="color: #cc0000; font-weight: bold;"> DRAFT: This document is under review and is subject to change. </p> <!-- Page contents top of page on right hand side in box --> <sticky><div style="float:right; border-width:1px; border-style:solid; border-color:#DFDFDF; background-color:#F6F6F6; margin:0 0 15px 15px; padding: 0 15px 0 15px; max-width:320px;"> %TOC{title="Page contents"}% </div></sticky> <div id="header-title" style="padding: 10px 15px; border-width:1px; border-style:solid; border-color:#FFD28C; background-image: url(<nop>https://jazz.net/wiki/pub/Deployment/WebPreferences/TLASE.jpg); background-size: cover; font-size:120%"> ---+!! ELM 7.3.0 TRS Resumable Validation Performance Report %DKGRAY% Authors: Main.VaughnRokosz, Main.JayrajsinhGohil, Main.SameerkumarKalaria, Main.RamnarayanKumar <br> Build basis: IBM Engineering Lifecycle Management (ELM) 7.3.0 %ENDCOLOR%<br> <span style="color:#cc0000; font-weight:bold; font-size:14px;">%RED% *NOTE: This article is currently in draft state.* %ENDCOLOR%</span> </div> <sticky><div style="margin:15px;"></sticky> ---+ Introduction In IBM Engineering Lifecycle Management (ELM) 7.3.0, a new *Resumable Tracked Resource Set (TRS) Validation* feature is introduced. Tracked Resource Set (TRS) validation is an essential administrative process that ensures data consistency and synchronization between Lifecycle Query Engine (LQE) / Link Index Provider (LDX) and application repositories. In large enterprise repositories containing millions of resources, standard TRS validation can run for several hours. Previously, any unexpected disruption, scheduled maintenance, or server restart required cancelling and restarting the entire validation process from the beginning. With the *Resumable TRS Validation* feature, TRS validation can be cleanly paused and resumed within a single end-to-end run without data loss, duplication, or re-processing already validated phases. If a validation run is interrupted by a planned or unplanned server restart, processing can resume from the last persisted checkpoint once the server is back online. This article consolidates the comprehensive performance, scalability, and correctness validation results for Resumable TRS Validation across the ELM 7.3.0 solution, encompassing both: 1. *LQE-Side Resumable Window Validation*: LQE-driven validation processing pre-built validation lists in configurable memory-to-disk windows across application data providers (DOORS Next, ETM, and EWM). 2. *Application-Side Resumable Validation*: Validation executed on application repositories (such as DOORS Next, ETM, and EWM). In ELM 7.3.0, individual applications have not yet adopted application-controlled chunking; instead, the entire resumable capability (checkpoint persistence, state serialization, pause/resume/restart recovery) is handled and managed directly by the Jazz Foundation layer. ---++ Architectural Implementation in ELM 7.3.0 The Resumable TRS Validation feature operates across two primary architectural tiers: * *LQE Window Validation Engine*: When resumable validation is enabled on LQE, LQE processes validation lists in configurable chunk windows. URIs fetched from the TRS feed are retained in an in-memory buffer up to the configured window threshold before being sorted and flushed to temporary chunk files on disk, followed by multi-way merge passes against the LQE Relational Store. * *Jazz Foundation Application Resiliency*: At the application server tier, individual applications have not yet adopted application-controlled chunking. The resumable engine is implemented and managed within the *Jazz Foundation* layer. Foundation manages phase state transitions, checkpoint serialization to a designated persistent volume (`validation-<validationId>-state.json`), and pause/resume/recovery lifecycle controls. ---++ Configuration Properties & Parameters <span style="font-size: 14px; font-weight: bold; text-decoration: underline;">1. LQE-Side Window Validation Configuration Parameters (Configured on LQE Server)</span> <p>These parameters apply specifically to LQE-side Window Validation and are configured independently per data provider in LQE administration:</p> <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 10px 0 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:30%;"><b>Parameter</b></th> <th style="padding:10px 16px; text-align:left; width:20%;"><b>Default Value</b></th> <th style="padding:10px 16px; text-align:left; width:50%;"><b>Description</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Window Count</b></td> <td style="padding:8px 16px;">50,000</td> <td style="padding:8px 16px;">Defines the number of URIs fetched from the TRS feed and retained in the in-memory buffer before data is flushed to disk.</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>LQE Batch Size</b></td> <td style="padding:8px 16px;">50,000</td> <td style="padding:8px 16px;">Defines the number of records fetched from the LQE Relational Store in a single query batch.</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Merge Fan-In</b></td> <td style="padding:8px 16px;">64</td> <td style="padding:8px 16px;">Defines the maximum number of sorted chunk files that can be merged in a single pass.</td> </tr> </table> <span style="font-size: 14px; font-weight: bold; text-decoration: underline;">2. Application-Side Resumable TRS Validation Properties (Configured on JTS / Application Server)</span> <p>These properties apply specifically to application-side TRS validation (DOORS Next, ETM, EWM) and are configured through Jazz Team Server (JTS) Advanced Properties:</p> <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 10px 0 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:35%;"><b>JTS Advanced Property</b></th> <th style="padding:10px 16px; text-align:left; width:20%;"><b>Value</b></th> <th style="padding:10px 16px; text-align:left; width:45%;"><b>Description & Operational Guidance</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><code>Enable Resumable TRS Validation</code></td> <td style="padding:8px 16px;"><code>true</code> / <code>false</code></td> <td style="padding:8px 16px;">Enables or disables Foundation-level checkpoint persistence and pause/resume controls during application-side TRS validation.</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><code>Resumable TRS Validation State Directory</code></td> <td style="padding:8px 16px;"><i>File system path</i></td> <td style="padding:8px 16px;">Specifies a valid, writable directory on a <b>persistent volume</b>. This path stores JSON checkpoint files (<code>validation-<validationId>-state.json</code>) surviving server restarts.</td> </tr> </table> %DKGRAY% *Operational Clarification for Administrators:* You do not need to configure both tables unless you are executing validations across both tiers. If you are validating from the LQE administration console, configure the LQE parameters (Table 1). If you are validating from an application side (e.g., DOORS Next, ETM, EWM), configure the JTS properties (Table 2). %ENDCOLOR% ---+++!! Standard Disclaimer The information in this document is distributed AS IS. The use of this information or the implementation of any of these techniques is a customer responsibility and depends on the customers ability to evaluate and integrate them into the customers operational environment. While each item may have been reviewed by IBM for accuracy in a specific situation, there is no guarantee that the same or similar results will be obtained elsewhere. Customers attempting to adapt these techniques to their own environments do so at their own risk. Any pointers in this publication to external Web sites are provided for convenience only and do not in any manner serve as an endorsement of these Web sites. Any performance data contained in this document was determined in a controlled environment, and therefore, the results that may be obtained in other operating environments may vary significantly. Users of this document should verify the applicable data for their specific environment. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multi-programming in the users job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. This testing was conducted to characterize the performance, durability, overhead, and recovery time of the Resumable TRS Validation feature across ELM repositories. The data presented should be evaluated as comparative performance guidance rather than an absolute SLA for all customer environments. <br> ---+ Key Findings Performance, scalability, and interruption recovery testing of the Resumable TRS Validation feature across LQE and application tiers yielded the following key conclusions: * *LQE-Side Validation Results:* * *Performance Impact of Enabling Window Validation:* Using the default window configuration (50K/50K/64), performance was compared with Window Validation disabled and enabled. ETM (+2.4% / +1m 40s) and EWM (+7.1% / +4m 22s) showed no measurable performance overhead, as the observed differences remained within normal run-to-run variability. However, for the DOORS Next (RM) data provider, which contained approximately 3.7 million resources, enabling Window Validation increased the mean validation duration from 1h 09m 47s to 1h 29m 08s, an increase of 19m 21s (+27.7%). This increase exceeded the normal run-to-run variability threshold for RM. * *Pause-and-Resume Overhead:* After excluding the planned pause intervals, pausing and resuming validation introduced no measurable additional active processing overhead across the RM, ETM, and EWM data providers. Validation correctness was maintained in all executions, with 0 missing resources and 0 stale resources. * *Storage Footprint:* During chunk files creation Validation directory max disk consumption was ~2 GB for ~3.7M resources . * *DOORS Next (DN) Application Results*: * *Zero Performance Regression in Normal Execution*: Enabling the resumable validation feature does not slow down normal, uninterrupted validation. With the feature enabled, uninterrupted validation took 51m 26s (Run 2), which is practically identical to running with the feature disabled (56m 15s in Run 1) and the pre-delivery baseline (53m 23s). Across multiple repeated test runs, normal execution naturally varied by about 3 to 5 minutes, confirming that background checkpoint tracking adds no measurable performance penalty during normal execution. * *Durable Interruption Recovery*: Validation state persisted intact across 10-minute UI pause intervals and full application server restarts, resuming cleanly from saved checkpoints without duplicate work. * *Transparent Overhead Analysis*: All reported validation durations reflect active validation processing time (excluding the 10-minute hold windows). Pause/Resume (1h 07m 47s) and Pause/Server Restart/Resume (1h 10m 03s) added ~1114 minutes of active processing overhead for checkpoint serialization and recovery verificationvastly superior to the multi-hour cost of restarting validations from scratch. * *Clean Cancellation*: Cancelling paused validations halted all processing, released memory, and allowed subsequent fresh runs to start from scratch and complete cleanly in 48m 25s. * *Storage Footprint*: State directory disk consumption was ~200 MB for ~1.5M resources (~500 MB to 1 GB recommended allocation). * *Engineering Workflow Management(EWM) Tracking and Planning Resources Application Results*: * *Zero Performance Regression in Normal Execution*: Enabling the resumable validation feature does not slow down normal, uninterrupted validation. With the feature enabled, uninterrupted validation took 1h 53m 58 s (Run 2), which is practically identical to running with the feature disabled (2h 3m 54s in Run 1). Across multiple repeated test runs, normal execution naturally varied by about 3 to 5 minutes, confirming that background checkpoint tracking adds no measurable performance penalty during normal execution. * *Durable Interruption Recovery*: Validation state persisted intact across 15-minute UI pause intervals and full application server restarts, resuming cleanly from saved checkpoints without duplicate work. * *Transparent Overhead Analysis*: All reported validation durations reflect active validation processing time (excluding the 15-minute hold windows). Pause/Resume (2h 15m 52s) and Pause/Server Restart/Resume (2h 18m) added ~15-20 minutes of active processing overhead for checkpoint serialization and recovery verificationvastly superior to the multi-hour cost of restarting validations from scratch. * *Clean Cancellation*: Cancelling paused validations halted all processing, released memory, and allowed subsequent fresh runs to start from scratch and complete cleanly in 1h 27m 23s. * *Storage Footprint*: State directory disk consumption was ~1.5 GB and Temp directory disk consumption was ~1 GB for ~3.8M resources (~2 GB to 3 GB recommended allocation for both directories). <br> ---+ LQE-Side TRS Resumable Testing This section summarizes the LQE TRS Resumable Validation results across three data providers. The evaluation focused on performance impact, pause-and-resume behaviour, and validation correctness. All testing was conducted on the ELM 7.3.0 M10 release using an Oracle database backend and an LQE Relational Store (RS) database. ---++!! Data Shapes & Provider Scale All validation activities were executed against a pre-indexed LQE Relational Store (LQE RS) that was fully rebased with each application server. <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:90%; border:1px solid #d0d7de; font-size:13px; margin: 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:15%;"><b>Provider</b></th> <th style="padding:10px 16px; text-align:left; width:35%;"><b>Application</b></th> <th style="padding:10px 16px; text-align:left; width:30%;"><b>TRS2 Endpoint</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Total Resources</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>RM</b></td> <td style="padding:8px 16px;">DOORS Next (DN)</td> <td style="padding:8px 16px;"><code>/rm/trs2</code></td> <td style="padding:8px 16px; text-align:right;">3,740,956</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>QM</b></td> <td style="padding:8px 16px;">Engineering Test Management (ETM)</td> <td style="padding:8px 16px;"><code>/qm/trs2</code></td> <td style="padding:8px 16px; text-align:right;">3,451,996</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>CCM</b></td> <td style="padding:8px 16px;">Engineering Workflow Management (EWM)</td> <td style="padding:8px 16px;"><code>/ccm/oslc/workitems/trs2</code></td> <td style="padding:8px 16px; text-align:right;">2,185,699</td> </tr> </table> The default Window configuration used throughout testing: * *Window Count*: 50,000 * *LQE Validation Batch Size*: 50,000 * *LQE Validation Merge Fan-In*: 64 ---++ LQE-side Results summary Window Validation (50K/50K/64) was tested across three data providers covering ~2.1 and 3.7 million resources. <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:22%;"><b>Provider</b></th> <th style="padding:10px 16px; text-align:right; width:16%;"><b>Resources</b></th> <th style="padding:10px 16px; text-align:right; width:18%;"><b>Measured Overhead</b></th> <th style="padding:10px 16px; text-align:left; width:26%;"><b>vs. Run-to-Run Variance</b></th> <th style="padding:10px 16px; text-align:left; width:18%;"><b>Performance Impact</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>DN (rm/trs2)</b></td> <td style="padding:8px 16px; text-align:right;">3,740,956</td> <td style="padding:8px 16px; text-align:right; font-weight:bold; color:#991b1b;">+27.7% (+19m 21s)</td> <td style="padding:8px 16px;">5.8× above variance threshold</td> <td style="padding:8px 16px; color:#991b1b;"><b>Significant overhead</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>ETM (qm/trs2)</b></td> <td style="padding:8px 16px; text-align:right;">3,451,996</td> <td style="padding:8px 16px; text-align:right; font-weight:bold; color:#166534;">+2.4% (+1m 40s)</td> <td style="padding:8px 16px;">0.25× below variance threshold</td> <td style="padding:8px 16px; color:#166534;"><b>No measurable overhead</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>EWM (ccm/trs2)</b></td> <td style="padding:8px 16px; text-align:right;">2,185,699</td> <td style="padding:8px 16px; text-align:right; font-weight:bold; color:#166534;">+7.1% (+4m 22s)</td> <td style="padding:8px 16px;">0.14× below variance threshold</td> <td style="padding:8px 16px; color:#166534;"><b>No measurable overhead</b></td> </tr> </table> <br> *Performance*: The default (50K/50K/64) window configuration is performance-neutral for ETM (QM) and EWM (CCM) data providers. For DN (RM), a significant overhead of ~27.7%(+19m 21s) was observed 5.8× above the normal run-to-run variation. <span style="font-size: 14px; font-weight: bold;">LQE Pause-and-Resume Timing Breakdown:</span> <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:15%;"><b>Provider</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Total Duration (incl. pause)</b></th> <th style="padding:10px 16px; text-align:right; width:18%;"><b>Pause Duration</b></th> <th style="padding:10px 16px; text-align:right; width:22%;"><b>Active Processing Time</b></th> <th style="padding:10px 16px; text-align:left; width:25%;"><b>Additional Overhead Observed</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>RM</b></td> <td style="padding:8px 16px; text-align:right;">1h 39m 30s</td> <td style="padding:8px 16px; text-align:right;">~14m 24s</td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">~1h 25m 06s</td> <td style="padding:8px 16px; color:#166534;"><b>No</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>QM</b></td> <td style="padding:8px 16px; text-align:right;">1h 20m 59s</td> <td style="padding:8px 16px; text-align:right;">~10m 18s</td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">~1h 10m 41s</td> <td style="padding:8px 16px; color:#166534;"><b>No</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>CCM</b></td> <td style="padding:8px 16px; text-align:right;">1h 15m 08s</td> <td style="padding:8px 16px; text-align:right;">~14m 00s</td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">~1h 01m 08s</td> <td style="padding:8px 16px; color:#166534;"><b>No</b></td> </tr> </table> <br> *Pause/Resume*: Across all three data providers, the pause-and-resume functionality operated as expected. After excluding the intentional pause duration, the effective processing time remained consistent with comparable windowed validation runs. No additional overhead was introduced by the pause/resume operation itself. *Correctness Summary*: All validation runs across all three providers and scenarios completed with *0 missing resources* and *0 stale resources*. ---++ DOORS Next Resources (RM) Data Provider Validation ---+++!! Scenario 1 Feature OFF vs. Window Validation (Feature ON) <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 10px 0 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:30%;"><b>Data Provider</b></th> <th style="padding:10px 16px; text-align:right; width:15%;"><b>Resources</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Baseline Mean (OFF)</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Feature ON Mean</b></th> <th style="padding:10px 16px; text-align:right; width:15%;"><b>Increase (%)</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;">DOORS Next (RM) <code>rm/trs2</code></td> <td style="padding:8px 16px; text-align:right;">3,740,956</td> <td style="padding:8px 16px; text-align:right;">1h 09m 47s</td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">1h 29m 08s</td> <td style="padding:8px 16px; text-align:right; color:#991b1b; font-weight:bold;">+19m 21s (+27.7%)</td> </tr> </table> <span style="font-size: 13px; font-weight: bold;">Individual Run Results (DOORS Next RM):</span> <table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse; width:80%; border:1px solid #d0d7de; font-size:12px; margin: 10px 0;"> <tr style="background-color:#f6f8fa;"> <th style="padding:6px 12px; text-align:left;"><b>Run</b></th> <th style="padding:6px 12px; text-align:right;"><b>Baseline (Feature OFF)</b></th> <th style="padding:6px 12px; text-align:right;"><b>Windowed (Feature ON)</b></th> <th style="padding:6px 12px; text-align:right;"><b>vs Baseline Mean</b></th> </tr> <tr><td style="padding:6px 12px;">Run 1</td><td style="padding:6px 12px; text-align:right;">1h 13m 08s</td><td style="padding:6px 12px; text-align:right;">1h 28m 06s</td><td style="padding:6px 12px; text-align:right;">+26.2%</td></tr> <tr><td style="padding:6px 12px;">Run 2</td><td style="padding:6px 12px; text-align:right;">1h 09m 18s</td><td style="padding:6px 12px; text-align:right;">1h 37m 31s</td><td style="padding:6px 12px; text-align:right;">+39.7%</td></tr> <tr><td style="padding:6px 12px;">Run 3</td><td style="padding:6px 12px; text-align:right;">1h 09m 05s</td><td style="padding:6px 12px; text-align:right;">1h 27m 12s</td><td style="padding:6px 12px; text-align:right;">+25.0%</td></tr> <tr><td style="padding:6px 12px;">Run 4</td><td style="padding:6px 12px; text-align:right;">1h 08m 32s</td><td style="padding:6px 12px; text-align:right;">1h 24m 17s</td><td style="padding:6px 12px; text-align:right;">+20.8%</td></tr> <tr><td style="padding:6px 12px;">Run 5</td><td style="padding:6px 12px; text-align:right;">1h 08m 52s</td><td style="padding:6px 12px; text-align:right;">1h 28m 33s</td><td style="padding:6px 12px; text-align:right;">+26.9%</td></tr> <tr style="font-weight:bold; background-color:#f6f8fa;"><td style="padding:6px 12px;">Mean</td><td style="padding:6px 12px; text-align:right;">1h 09m 47s</td><td style="padding:6px 12px; text-align:right;">1h 29m 08s</td><td style="padding:6px 12px; text-align:right;">+27.7%</td></tr> </table> ---+++!! Scenario 2 Pause and Resume Validation (RM) Configuration: Window count=50,000 / LQE Batch=50,000 / FanIn=64 * Total validation duration (incl. pause): 1h 39m 30s * Pause duration: ~14m 24s * Active processing time (total pause): ~1h 25m 06s ----++!! Observations <p> <strong>Scenario 1</strong>: Enabling Window Validation for the RM data provider resulted in a measurable performance overhead. The mean validation duration increased from 1h 09m 47s with the feature disabled to 1h 29m 08s with the feature enabled, representing an increase of 19m 21s (+27.7%). This overhead was approximately 5.8× higher than the expected run-to-run variability threshold, confirming a significant performance impact. </p> <p> <strong>Scenario 2</strong>: After excluding the planned pause duration of 14m 24s, the active processing time was approximately 1h 25m 06s. This result was within the Scenario 1 Window Validation run range of 1h 24m 17s to 1h 28m 33s, indicating that the pause-and-resume operation did not introduce additional processing overhead. Validation correctness was maintained with zero missing resources and zero stale resources. </p> *CPU Utilization*: * Oracle database server average CPU utilization remained low at approximately *5%* throughout the validation run. * LQE server average CPU utilization remained low at approximately *1.1%* throughout the validation run. * DN application server average CPU utilization remained low at approximately *0.5%* throughout the validation run. <img src="%ATTACHURLPATH%/LQEResumable_DNValidation_CPUUtilization.png" alt="LQEResumable_DNValidation_CPUUtilization.png" width="2750" height="1506" /> *Disk Utilization*: * Oracle database server average disk utilization was approximately *7.2%* throughout the validation run. * LQE server average disk utilization was approximately *0.8%* throughout the validation run. * DN application server average disk utilization was approximately *0.4%* throughout the validation run. <img src="%ATTACHURLPATH%/LQEResumable_DNValidation_OracleDBDiskUtilization.png" alt="LQEResumable_DNValidation_OracleDBDiskUtilization.png" width="2792" height="1204" /> <img src="%ATTACHURLPATH%/LQEResumable_DNValidation_LQEserverDiskUtilization.png" alt="LQEResumable_DNValidation_LQEserverDiskUtilization.png" width="2792" height="1204" /> <img src="%ATTACHURLPATH%/LQEResumable_DNValidation_DNserverDiskUtilization.png" alt="LQEResumable_DNValidation_DNserverDiskUtilization.png" width="2794" height="1200" /> *JVM Heap Utilization*: * Heap utilization remained well below the configured *32 GB JVM heap* throughout the validation run, with consistently low GC pause times of approximately *0.2 seconds*. <img src="%ATTACHURLPATH%/LQEResumable_DNValidation_LQEServerJVMHeap.png" alt="LQEResumable_DNValidation_LQEServerJVMHeap.png" width="2022" height="1792" /> ---++ ETM Resources (QM) Data Provider Validation ---+++!! Scenario 1 Feature OFF vs. Window Validation (Feature ON) <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 10px 0 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:30%;"><b>Data Provider</b></th> <th style="padding:10px 16px; text-align:right; width:15%;"><b>Resources</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Baseline Mean (OFF)</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Feature ON Mean</b></th> <th style="padding:10px 16px; text-align:right; width:15%;"><b>Increase (%)</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;">ETM (QM) <code>qm/trs2</code></td> <td style="padding:8px 16px; text-align:right;">3,451,996</td> <td style="padding:8px 16px; text-align:right;">1h 11m 01s</td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">1h 12m 42s</td> <td style="padding:8px 16px; text-align:right; color:#166534; font-weight:bold;">+1m 40s (+2.4%)</td> </tr> </table> <span style="font-size: 13px; font-weight: bold;">Individual Run Results (ETM QM):</span> <table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse; width:80%; border:1px solid #d0d7de; font-size:12px; margin: 10px 0;"> <tr style="background-color:#f6f8fa;"> <th style="padding:6px 12px; text-align:left;"><b>Run</b></th> <th style="padding:6px 12px; text-align:right;"><b>Baseline (Feature OFF)</b></th> <th style="padding:6px 12px; text-align:right;"><b>Windowed (Feature ON)</b></th> <th style="padding:6px 12px; text-align:right;"><b>vs Baseline Mean</b></th> </tr> <tr><td style="padding:6px 12px;">Run 1</td><td style="padding:6px 12px; text-align:right;">1h 07m 55s</td><td style="padding:6px 12px; text-align:right;">1h 14m 02s</td><td style="padding:6px 12px; text-align:right;">+4.3%</td></tr> <tr><td style="padding:6px 12px;">Run 2</td><td style="padding:6px 12px; text-align:right;">1h 10m 30s</td><td style="padding:6px 12px; text-align:right;">1h 11m 40s</td><td style="padding:6px 12px; text-align:right;">+0.9%</td></tr> <tr><td style="padding:6px 12px;">Run 3</td><td style="padding:6px 12px; text-align:right;">1h 19m 10s</td><td style="padding:6px 12px; text-align:right;">1h 10m 42s</td><td style="padding:6px 12px; text-align:right;">0.4%</td></tr> <tr><td style="padding:6px 12px;">Run 4</td><td style="padding:6px 12px; text-align:right;">1h 08m 49s</td><td style="padding:6px 12px; text-align:right;">1h 13m 35s</td><td style="padding:6px 12px; text-align:right;">+3.6%</td></tr> <tr><td style="padding:6px 12px;">Run 5</td><td style="padding:6px 12px; text-align:right;">1h 08m 57s</td><td style="padding:6px 12px; text-align:right;">1h 13m 02s</td><td style="padding:6px 12px; text-align:right;">+2.8%</td></tr> <tr><td style="padding:6px 12px;">Run 6</td><td style="padding:6px 12px; text-align:right;">1h 10m 46s</td><td style="padding:6px 12px; text-align:right;">1h 13m 06s</td><td style="padding:6px 12px; text-align:right;">+2.9%</td></tr> <tr style="font-weight:bold; background-color:#f6f8fa;"><td style="padding:6px 12px;">Mean</td><td style="padding:6px 12px; text-align:right;">1h 11m 01s</td><td style="padding:6px 12px; text-align:right;">1h 12m 42s</td><td style="padding:6px 12px; text-align:right;">+2.4%</td></tr> </table> ---+++!! Scenario 2 Pause and Resume Validation (QM) Configuration: Window count=50,000 / LQE Batch=50,000 / FanIn=64 * Total validation duration (incl. pause): 1h 20m 59s * Pause duration: ~10m 18s * Active processing time (total pause): ~1h 10m 41s ----++!! Observations <p> <strong>Scenario 1</strong>: Enabling Window Validation for the ETM(QM) data provider did not result in a measurable performance impact. The mean validation duration increased from 1h 11m 01s with the feature disabled to 1h 12m 42s with the feature enabled, representing an increase of 1m 40s (+2.4%). This increase was only 0.25× the expected run-to-run variability threshold, confirming that the difference was within normal execution variation. </p> <p> <strong>Scenario 2</strong>: After excluding the planned pause interval of approximately 10m 18s, the active processing time was approximately 1h 10m 41s. This was consistent with the Scenario 1 Window Validation run range of 1h 10m 42s to 1h 14m 02s, indicating that the pause-and-resume operation did not introduce additional processing overhead. Validation correctness was maintained, with zero missing resources and zero stale resources. </p> ---+++!! Resource Utilization (ETM Validation) *CPU Utilization*: * Oracle database server average CPU utilization remained low at approximately *5%* throughout the validation run. * LQE server average CPU utilization remained low at approximately *1.5%* throughout the validation run. * ETM application server average CPU utilization remained low at approximately *2%* throughout the validation run. <img src="%ATTACHURLPATH%/LQEResumable_ETMValidation_CPUUtilization.png" alt="LQEResumable_ETMValidation_CPUUtilization.png" width="1000" /> *Disk Utilization*: * Oracle database server average disk utilization was approximately *8%* throughout the validation run. * LQE server average disk utilization was approximately *1%* throughout the validation run. * ETM application server average disk utilization was approximately *0.3%* throughout the validation run. <img src="%ATTACHURLPATH%/LQEResumable_ETMValidation_OracleDBDiskUtilization.png" alt="LQEResumable_ETMValidation_OracleDBDiskUtilization.png" width="1000" /> <img src="%ATTACHURLPATH%/LQEResumable_ETMValidation_LQEserverDiskUtilization.png" alt="LQEResumable_ETMValidation_LQEserverDiskUtilization.png" width="1000" /> <img src="%ATTACHURLPATH%/LQEResumable_ETMValidation_ETMserverDiskUtilization.png" alt="LQEResumable_ETMValidation_ETMserverDiskUtilization.png" width="1000" /> *JVM Heap Utilization*: * Heap utilization remained well below the configured *32 GB JVM heap* throughout the validation run, with consistently low GC pause times of approximately *0.2 seconds*. <img src="%ATTACHURLPATH%/LQEResumable_ETMValidation_LQEServersideJVMHeap.png" alt="LQEResumable_ETMValidation_LQEServersideJVMHeap.png" width="2046" height="1780" /> ---++ EWM Tracking & Planning Resources (CCM) Data Provider Validation ---+++!! Scenario 1 Feature OFF vs. Window Validation (Feature ON) <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 10px 0 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:30%;"><b>Data Provider</b></th> <th style="padding:10px 16px; text-align:right; width:15%;"><b>Resources</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Baseline Mean (OFF)</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Feature ON Mean</b></th> <th style="padding:10px 16px; text-align:right; width:15%;"><b>Increase (%)</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;">EWM (CCM) <code>ccm/workitems/trs2</code></td> <td style="padding:8px 16px; text-align:right;">2,185,699</td> <td style="padding:8px 16px; text-align:right;">1h 01m 35s</td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">1h 05m 56s</td> <td style="padding:8px 16px; text-align:right; color:#166534; font-weight:bold;">+4m 22s (+7.1%)</td> </tr> </table> <span style="font-size: 13px; font-weight: bold;">Individual Run Results (EWM CCM):</span> <table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse; width:80%; border:1px solid #d0d7de; font-size:12px; margin: 10px 0;"> <tr style="background-color:#f6f8fa;"> <th style="padding:6px 12px; text-align:left;"><b>Run</b></th> <th style="padding:6px 12px; text-align:right;"><b>Baseline (Feature OFF)</b></th> <th style="padding:6px 12px; text-align:right;"><b>Windowed (Feature ON)</b></th> <th style="padding:6px 12px; text-align:right;"><b>vs Baseline Mean</b></th> </tr> <tr><td style="padding:6px 12px;">Run 1</td><td style="padding:6px 12px; text-align:right;">53m 40s</td><td style="padding:6px 12px; text-align:right;">56m 44s</td><td style="padding:6px 12px; text-align:right;">7.9%</td></tr> <tr><td style="padding:6px 12px;">Run 2</td><td style="padding:6px 12px; text-align:right;">1h 34m 57s</td><td style="padding:6px 12px; text-align:right;">1h 45m 36s</td><td style="padding:6px 12px; text-align:right;">+71.5%</td></tr> <tr><td style="padding:6px 12px;">Run 3</td><td style="padding:6px 12px; text-align:right;">53m 26s</td><td style="padding:6px 12px; text-align:right;">55m 19s</td><td style="padding:6px 12px; text-align:right;">10.2%</td></tr> <tr><td style="padding:6px 12px;">Run 4</td><td style="padding:6px 12px; text-align:right;">53m 03s</td><td style="padding:6px 12px; text-align:right;">57m 02s</td><td style="padding:6px 12px; text-align:right;">7.4%</td></tr> <tr><td style="padding:6px 12px;">Run 5</td><td style="padding:6px 12px; text-align:right;">52m 47s</td><td style="padding:6px 12px; text-align:right;">55m 00s</td><td style="padding:6px 12px; text-align:right;">10.7%</td></tr> <tr style="font-weight:bold; background-color:#f6f8fa;"><td style="padding:6px 12px;">Mean</td><td style="padding:6px 12px; text-align:right;">1h 01m 35s</td><td style="padding:6px 12px; text-align:right;">1h 05m 56s</td><td style="padding:6px 12px; text-align:right;">+7.1%</td></tr> </table> ---+++!! Scenario 2 Pause and Resume Validation (EWM) Configuration: Window count=50,000 / LQE Batch=50,000 / FanIn=64 * Total validation duration (incl. pause): 1h 15m 08s * Pause duration: ~14m 00s * Active processing time (total pause): ~1h 01m 08s ----++!! Observations <p> <strong>Scenario 1</strong>: Enabling Window Validation for the EWM (CCM) data provider did not result in a measurable performance impact. The mean validation duration increased from 1h 01m 35s with the feature disabled to 1h 05m 56s with the feature enabled, representing an increase of 4m 22s (+7.1%). This increase was only 0.14× the expected run-to-run variability threshold, confirming that the difference was within normal execution variation. </p> <p> <strong>Scenario 2</strong>: After excluding the planned pause interval of approximately 14m, the active processing time was approximately 1h 01m 08s. Although this was slightly higher than the typical Scenario 1 Window Validation run range of 55m 00s to 57m 02s, the difference remained within normal run-to-run variability. Therefore, no measurable additional processing overhead attributable to the pause-and-resume operation was observed. Validation correctness was maintained, with zero missing resources and zero stale resources. </p> ---+++!! Resource Utilization (EWM Validation) *CPU Utilization*: * Oracle database server average CPU utilization remained low at approximately *11.8%* throughout the validation run. * LQE server average CPU utilization remained low at approximately *1.5%* throughout the validation run. * EWM application server average CPU utilization remained low at approximately *2.9%* throughout the validation run. <img src="%ATTACHURLPATH%/CPU_Utilization.png" alt="CPU_Utilization.png" width="1000" /> *Disk Utilization*: * Oracle database server average disk utilization was approximately *13.1%* throughout the validation run. * LQE server average disk utilization was approximately *0.6%* throughout the validation run. * EWM application server average disk utilization was approximately *0.003%* throughout the validation run. <img src="%ATTACHURLPATH%/OracleDB_DiskUtilization.png" alt="OracleDB_DiskUtilization.png" width="1000" /> <img src="%ATTACHURLPATH%/LQEServer_DiskUtilization.png" alt="LQEServer_DiskUtilization.png" width="1000" /> <img src="%ATTACHURLPATH%/CCM_DiskUtilization.png" alt="CCM_DiskUtilization.png" width="1000" /> *JVM Heap Utilization*: * Heap utilization remained well below the configured *32 GB JVM heap* throughout the validation run, with consistently low GC pause times of approximately *0.2 seconds*. <img src="%ATTACHURLPATH%/LQEResumable_EWMValidation_LQEServerJVMHeap.png" alt="LQEResumable_EWMValidation_LQEServerJVMHeap.png" width="2026" height="1782" /> <br> ---+ DOORS Next (DN) Application TRS Resumable Testing This section documents the performance characterization and interruption recovery validation of the Resumable TRS Validation feature executing on the *IBM Engineering Requirements Management DOORS Next (DNG)* application repository. ---++ DN Results Summary Performance testing was executed on the ~1.5M resource DOORS Next repository across baseline, uninterrupted, and interruption scenarios. In all interruption tests (Run 3, Run 4, and Run 5), an intentional 10-minute pause interval was introduced during active processing. The validation times shown in the table below reflect the **active validation execution time** (excluding the 10-minute pause interval): <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:10%;"><b>Run ID</b></th> <th style="padding:10px 16px; text-align:left; width:38%;"><b>Scenario Description</b></th> <th style="padding:10px 16px; text-align:center; width:18%;"><b>Feature State</b></th> <th style="padding:10px 16px; text-align:right; width:18%;"><b>Active Validation Time</b></th> <th style="padding:10px 16px; text-align:left; width:16%;"><b>Outcome</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Baseline</b></td> <td style="padding:8px 16px;">Baseline Run (Feature Not Delivered)</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#57606a;">Feature Not Delivered</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">53m 23s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>Run 1</b></td> <td style="padding:8px 16px;">Standard Uninterrupted Run (Feature Disabled)</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#9a3412;">Disabled (<code>false</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">56m 15s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Run 2</b></td> <td style="padding:8px 16px;">Standard Uninterrupted Run (Feature Enabled)</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">51m 26s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>Run 3</b></td> <td style="padding:8px 16px;">Pause (10m) → Resume → Complete</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">1h 07m 47s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed (Resumed)</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Run 4</b></td> <td style="padding:8px 16px;">Pause (10m) → Cancel → Start Fresh → Complete</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">48m 25s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed (Clean)</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>Run 5</b></td> <td style="padding:8px 16px;">Pause (10m) → Server Restart → Resume → Complete</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">1h 10m 03s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed (Recovered)</b></td> </tr> </table> %DKGRAY% *Note:* Each feature-enabled scenario was executed 3 to 4 times to establish confidence, consistently showing a normal run-to-run variation of 3 to 5 minutes. %ENDCOLOR% <br> ---++ Detailed DOORS Next Scenario Breakdown ---+++!! 1. Baseline & Uninterrupted Validation (Run 1 & Run 2) * *Flow*: `Start Validation` → `Uninterrupted Execution` → `Complete` * *Observations*: Run 1 (Feature Disabled) completed in *56m 15s*; Run 2 (Feature Enabled, uninterrupted) completed in *51m 26s*. * *Conclusion*: Active checkpoint tracking incurs negligible overhead during continuous, uninterrupted validation runs, remaining well within the normal run-to-run variation bounds of 35 minutes. ---+++!! 2. Pause and Resume Lifecycle (Run 3) * *Flow*: `Start Validation` → `Pause (UI)` → `Hold 10 Minutes` → `Resume (UI)` → `Complete` * *Pause Duration*: 10 minutes (intentional hold interval) * *Active Validation Time*: *1h 07m 47s* (excludes the 10-minute hold duration) * *Observations*: Triggering Pause transitioned validation to `PAUSED` cleanly, halting queries against DOORS Next. The validation was held in this paused state for 10 minutes. Upon clicking Resume, processing resumed directly from the saved checkpoint without repeating earlier phases. The active duration of 1h 07m 47s reflects ~11 minutes of checkpoint serialization, state flush, and worker re-synchronization overhead. ---+++!! 3. Pause, Cancel, and Fresh Restart (Run 4) * *Flow*: `Start Validation` → `Pause (UI)` → `Hold 10 Minutes` → `Cancel (UI)` → `Start Fresh` → `Complete` * *Pause Duration*: 10 minutes (intentional hold interval) * *Active Validation Time*: *48m 25s* * *Observations*: Validation was paused, held for 10 minutes, and then cancelled. Cancellation immediately halted background workers, freed allocated memory, and reset checkpoint tracking. Triggering a new validation started completely fresh from scratch with no stale checkpoint data carried over, completing successfully in *48m 25s*. ---+++!! 4. Pause, Server Restart, and Post-Restart Recovery (Run 5) * *Flow*: `Start Validation` → `Pause (UI)` → `DOORS Next Server Restart` → `Resume (UI)` → `Complete` * *Pause & Maintenance Window*: 10 minutes (intentional hold during server restart) * *Active Validation Time*: *1h 10m 03s* (exact active validation time, excluding the 10-minute pause window) * *Observations*: Validation was paused during `VALIDATE_RESOURCES`, and the DOORS Next application server (`rm3`) was restarted. After the server came back online, the checkpoint state file on persistent disk was verified intact. Clicking Resume in the admin UI re-engaged validation from the exact pre-restart checkpoint, completing with status `COMPLETED`. <br> ---+ ETM TRS Resumable Testing %GRAY% *Note: ETM application-tier resumable validation test results will be added here upon completion of testing.* %ENDCOLOR% <br> ---+ EWM Application TRS Resumable Testing This section documents the performance characterization and interruption-recovery validation of the Resumable TRS Validation feature, executed on the *IBM Engineering Workflow Management Tracking and Planning Resources (TRS 2.0)* application repository. ---++ EWM TAP Results Summary Performance testing was executed on Large EWM Repository (~3.8M) resources across baseline, uninterrupted, and interruption scenarios. In all interruption tests (Runs 3, 4, and 5), a deliberate 15-minute pause was introduced during active processing. The validation was done with/without cache data. The validation times shown in the table below reflect the *active validation execution time* (excluding the 15-minute pause interval): ---+++!! Validation without Cache Data for Large Repository ~3.8M <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:12%;"><b>Run ID</b></th> <th style="padding:10px 16px; text-align:left; width:38%;"><b>Scenario Description</b></th> <th style="padding:10px 16px; text-align:center; width:16%;"><b>Feature State</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Active Validation Time</b></th> <th style="padding:10px 16px; text-align:left; width:14%;"><b>Outcome</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Run 1 (Baseline)</b></td> <td style="padding:8px 16px;">Standard Uninterrupted Run (Feature Disabled)</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#9a3412;">Disabled (<code>false</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">9h 1m 23s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>Run 2</b></td> <td style="padding:8px 16px;">Standard Uninterrupted Run (Feature Enabled)</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">9h 36m 56s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Run 3</b></td> <td style="padding:8px 16px;">Pause (15m) → Resume → Complete</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">9h 17m 22s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed (Resumed)</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>Run 4</b></td> <td style="padding:8px 16px;">Pause (15m) → Cancel → Start Fresh → Complete</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">5h 2m 51s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed (Clean)</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Run 5</b></td> <td style="padding:8px 16px;">Pause (15m) → Server Restart → Validation Resume → Complete</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">8h 26m 1s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed (Recovered)</b></td> </tr> </table> <br> ---+++!! Validation with Cache Data for Large Repository ~3.8M <table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:13px; margin: 15px 0;"> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:10px 16px; text-align:left; width:12%;"><b>Run ID</b></th> <th style="padding:10px 16px; text-align:left; width:38%;"><b>Scenario Description</b></th> <th style="padding:10px 16px; text-align:center; width:16%;"><b>Feature State</b></th> <th style="padding:10px 16px; text-align:right; width:20%;"><b>Active Validation Time</b></th> <th style="padding:10px 16px; text-align:left; width:14%;"><b>Outcome</b></th> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Run 1 (Baseline)</b></td> <td style="padding:8px 16px;">Standard Uninterrupted Run (Feature Disabled)</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#9a3412;">Disabled (<code>false</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">2h 3m 54s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>Run 2</b></td> <td style="padding:8px 16px;">Standard Uninterrupted Run (Feature Enabled)</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">1h 53m 58s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Run 3</b></td> <td style="padding:8px 16px;">Pause (15m) → Resume → Complete</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">2h 15m 52s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed (Resumed)</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:8px 16px;"><b>Run 4</b></td> <td style="padding:8px 16px;">Pause (15m) → Cancel → Start Fresh → Complete</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">1h 27m 23s</td> <td style="padding:8px 16px; color:#166534;"><b>Completed (Clean)</b></td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:8px 16px;"><b>Run 5</b></td> <td style="padding:8px 16px;">Pause (15m) → Server Restart → Validation Resume → Complete</td> <td style="padding:8px 16px; text-align:center;"><span style="color:#166534;">Enabled (<code>true</code>)</span></td> <td style="padding:8px 16px; text-align:right; font-weight:bold;">2h 18m</td> <td style="padding:8px 16px; color:#166534;"><b>Completed (Recovered)</b></td> </tr> </table> %DKGRAY% *Note:* Each feature-enabled scenario was executed 3 to 4 times to establish confidence, consistently showing a normal run-to-run variation of 3 to 5 minutes. %ENDCOLOR% <br> ---++ Detailed EWM TAP Scenario Breakdown ---+++!! 1. Baseline & Uninterrupted Validation (Run 1 & Run 2) * *Flow*: `Start Validation` → `Uninterrupted Execution` → `Complete` * *Observations*: Run 1 (Feature Disabled) completed in *2h 3m 54s*; Run 2 (Feature Enabled, uninterrupted) completed in *1h 53m 58s*. * *Conclusion*: Active checkpoint tracking incurs negligible overhead during continuous, uninterrupted validation runs, remaining well within the normal run-to-run variation bounds of 35 minutes. ---+++!! 2. Pause and Resume Lifecycle (Run 3) * *Flow*: `Start Validation` → `Pause (UI)` → `Hold 15 Minutes` → `Resume (UI)` → `Complete` * *Pause Duration*: 15 minutes (intentional hold interval) * *Active Validation Time*: *2h 15m 52s* (excludes the 15-minute hold duration) * *Observations*: Triggering Pause transitioned validation to `PAUSED` cleanly, halting queries against EWM. The validation was held in this paused state for 15 minutes. Upon clicking Resume, processing resumed directly from the saved checkpoint without repeating earlier phases. The active duration of 2h 15m 52s reflects ~15-20 minutes of checkpoint serialization, state flush, and worker re-synchronization overhead. ---+++!! 3. Pause, Cancel, and Fresh Restart (Run 4) * *Flow*: `Start Validation` → `Pause (UI)` → `Hold 15 Minutes` → `Cancel (UI)` → `Start Fresh` → `Complete` * *Pause Duration*: 15 minutes (intentional hold interval) * *Active Validation Time*: *1h 27m 23s.* * *Observations*: Validation was paused, held for 15 minutes, and then cancelled. Cancellation immediately halted background workers, freed allocated memory, and reset checkpoint tracking. Triggering a new validation started completely fresh from scratch with no stale checkpoint data carried over, completing successfully in *1h 27m 23s*. <br><br> %DKGRAY% *NOTE:-* Revalidation is not similar to that of without interrupt case, since the revalidation is faster till what point previous validation was cancelled. Hence, overall Revalidation is faster compared to the previous. %ENDCOLOR% ---+++!! 4. Pause, Server Restart, and Post-Restart Recovery (Run 5) * *Flow*: `Start Validation` → `Pause (UI)` → `EWM Server Restart` → `Resume (UI)` → `Complete` * *Pause & Maintenance Window*: 15 minutes (intentional hold during server restart) * *Active Validation Time*: *2h 18m* (exact active validation time, excluding the 15-minute pause window) * *Observations*: Validation was paused during `VALIDATE_RESOURCES`, and the EWM application server (`ccm`) was restarted. After the server came back online, the checkpoint state file on persistent disk was verified intact. Clicking Resume in the admin UI re-engaged validation from the exact pre-restart checkpoint, completing with status `COMPLETED`. <br> ---+ Test Environment Details & Hardware Specifications The performance test topology comprises physical enterprise servers hosting the complete ELM 7.3.0 solution stack: ---++!! Test Environments for LQE and ETM side Resumability Testing : <table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse; width:100%; border:1px solid #d0d7de; font-size:12px; margin: 15px 0;"> <thead> <tr style="background-color:#f6f8fa; border-bottom: 2px solid #d0d7de;"> <th style="padding:8px 10px; text-align:left;"><b>Role</b></th> <th style="padding:8px 10px; text-align:left;"><b>Server / Software</b></th> <th style="padding:8px 10px; text-align:center;"><b>Machines</b></th> <th style="padding:8px 10px; text-align:left;"><b>Machine Type</b></th> <th style="padding:8px 10px; text-align:left;"><b>Processor</b></th> <th style="padding:8px 10px; text-align:center;"><b>Total Cores</b></th> <th style="padding:8px 10px; text-align:center;"><b>RAM</b></th> <th style="padding:8px 10px; text-align:left;"><b>Storage</b></th> <th style="padding:8px 10px; text-align:left;"><b>OS & Version</b></th> </tr> </thead> <tbody> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:6px 10px;"><b>Proxy Server</b></td> <td style="padding:6px 10px;">IBM HTTP Server & WebSphere Plugin</td> <td style="padding:6px 10px; text-align:center;">1</td> <td style="padding:6px 10px;">IBM System x3550 M3</td> <td style="padding:6px 10px;">1 x Intel Xeon X3480 3.07 GHz (quad-core)</td> <td style="padding:6px 10px; text-align:center;">8</td> <td style="padding:6px 10px; text-align:center;">16 GB</td> <td style="padding:6px 10px;">RAID 0 279GB SAS Disk x 1</td> <td style="padding:6px 10px;">RHEL Server 7</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:6px 10px;"><b>JTS / GC</b></td> <td style="padding:6px 10px;">WebSphere Liberty</td> <td style="padding:6px 10px; text-align:center;">1</td> <td style="padding:6px 10px;">IBM System x3550 M3</td> <td style="padding:6px 10px;">2 x Intel Xeon X5649 2.53 GHz (six-core)</td> <td style="padding:6px 10px; text-align:center;">24</td> <td style="padding:6px 10px; text-align:center;">32 GB</td> <td style="padding:6px 10px;">RAID 1 136GB SAS Disk x 2</td> <td style="padding:6px 10px;">RHEL Server 8</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:6px 10px;"><b>DN (RM) Server</b></td> <td style="padding:6px 10px;">WebSphere Liberty </td> <td style="padding:6px 10px; text-align:center;">1</td> <td style="padding:6px 10px;">IBM System x3550 M4</td> <td style="padding:6px 10px;">2 x Intel Xeon E5-2640 2.5 GHz (six-core)</td> <td style="padding:6px 10px; text-align:center;">24</td> <td style="padding:6px 10px; text-align:center;">32 GB</td> <td style="padding:6px 10px;">RAID 5 279GB SAS Disk x 4</td> <td style="padding:6px 10px;">RHEL Server 7</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:6px 10px;"><b>ETM Server</b></td> <td style="padding:6px 10px;">WebSphere Liberty </td> <td style="padding:6px 10px; text-align:center;">1</td> <td style="padding:6px 10px;">IBM System x3550 M4</td> <td style="padding:6px 10px;">2 x Intel Xeon E5-2640 2.5 GHz (six-core)</td> <td style="padding:6px 10px; text-align:center;">24</td> <td style="padding:6px 10px; text-align:center;">32 GB</td> <td style="padding:6px 10px;">RAID 5 279GB SAS Disk x 4</td> <td style="padding:6px 10px;">RHEL Server 7</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:6px 10px;"><b>EWM Server</b></td> <td style="padding:6px 10px;">WebSphere Liberty</td> <td style="padding:6px 10px; text-align:center;">1</td> <td style="padding:6px 10px;">IBM System x3550 M4</td> <td style="padding:6px 10px;">2 x Intel Xeon E5-2640 2.5 GHz (six-core)</td> <td style="padding:6px 10px; text-align:center;">24</td> <td style="padding:6px 10px; text-align:center;">32 GB</td> <td style="padding:6px 10px;">RAID 5 279GB SAS Disk x 4</td> <td style="padding:6px 10px;">RHEL Server 7</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#f6f8fa;"> <td style="padding:6px 10px;"><b>LQE RS Server</b></td> <td style="padding:6px 10px;">WebSphere Liberty</td> <td style="padding:6px 10px; text-align:center;">1</td> <td style="padding:6px 10px;">IBM System x3550 M4</td> <td style="padding:6px 10px;">2 x Intel Xeon E5-2640 2.5 GHz (six-core)</td> <td style="padding:6px 10px; text-align:center;">24</td> <td style="padding:6px 10px; text-align:center;">128 GB</td> <td style="padding:6px 10px;">RAID 5 279GB SAS Disk x 4</td> <td style="padding:6px 10px;">RHEL Server 9</td> </tr> <tr style="border-bottom:1px solid #e1e4e8; background-color:#ffffff;"> <td style="padding:6px 10px;"><b>Database Server</b></td> <td style="padding:6px 10px;">Oracle 19c Enterprise Edition</td> <td style="padding:6px 10px; text-align:center;">1</td> <td style="padding:6px 10px;">IBM System x3550 M3</td> <td style="padding:6px 10px;">2 x Intel Xeon E5-2640 2.5 GHz (six-core)</td> <td style="padding:6px 10px; text-align:center;">24</td> <td style="padding:6px 10px; text-align:center;">64 GB</td> <td style="padding:6px 10px;">RAID 10 279GB SAS Disk x 16</td> <td style="padding:6px 10px;">RHEL Server 8</td> </tr> </tbody> </table> ---++ Abbreviations * *JTS*: Jazz Team Server * *GCM*: Global Configuration Management * *DN / RM*: DOORS Next / Requirements Management * *ETM / QM*: Engineering Test Management / Quality Management * *EWM / CCM*: Engineering Workflow Management / Change and Configuration Management * *LQE RS*: Lifecycle Query Engine (Relational Store) * *TRS*: Tracked Resource Set * *SLA*: Service Level Agreement <sticky></div></sticky>
Attachments
Attachments
Topic attachments
I
Attachment
Action
Size
Date
Who
Comment
png
CCM_DiskUtilization.png
manage
128.6 K
2026-10-14 - 12:12
JayrajsinhGohil
LQEResumable_EWMValidation_CCMDiskUtilization
png
CPU_Utilization.png
manage
93.0 K
2026-10-14 - 12:11
JayrajsinhGohil
LQEResumable_EWMValidation_CPUUtilization
png
LQEResumable_DNValidation_CPUUtilization.png
manage
367.4 K
2026-10-15 - 06:36
JayrajsinhGohil
png
LQEResumable_DNValidation_DNserverDiskUtilization.png
manage
517.8 K
2026-10-15 - 06:39
JayrajsinhGohil
png
LQEResumable_DNValidation_LQEServerJVMHeap.png
manage
516.1 K
2026-10-15 - 06:39
JayrajsinhGohil
png
LQEResumable_DNValidation_LQEserverDiskUtilization.png
manage
518.2 K
2026-10-15 - 06:38
JayrajsinhGohil
png
LQEResumable_DNValidation_OracleDBDiskUtilization.png
manage
706.0 K
2026-10-15 - 06:38
JayrajsinhGohil
png
LQEResumable_ETMValidation_CPUUtilization.png
manage
336.0 K
2026-10-14 - 14:04
JayrajsinhGohil
CPU Utilization
png
LQEResumable_ETMValidation_ETMserverDiskUtilization.png
manage
523.2 K
2026-10-14 - 14:16
JayrajsinhGohil
ETM server
DiskUtilization
png
LQEResumable_ETMValidation_LQEServersideJVMHeap.png
manage
446.8 K
2026-10-15 - 07:34
JayrajsinhGohil
png
LQEResumable_ETMValidation_LQEserverDiskUtilization.png
manage
539.4 K
2026-10-14 - 14:15
JayrajsinhGohil
LQE server
DiskUtilization
During LQE side ETM Validation
png
LQEResumable_ETMValidation_OracleDBDiskUtilization.png
manage
704.9 K
2026-10-14 - 14:13
JayrajsinhGohil
OracleDB
DiskUtilization
png
LQEResumable_EWMValidation_LQEServerJVMHeap.png
manage
464.3 K
2026-10-15 - 07:20
JayrajsinhGohil
png
LQEServer_DiskUtilization.png
manage
137.7 K
2026-10-14 - 12:13
JayrajsinhGohil
LQEResumable_EWMValidation_LQEserverDiskUtilization
png
OracleDB_DiskUtilization.png
manage
193.5 K
2026-10-14 - 12:13
JayrajsinhGohil
LQEResumable_EWMValidation_OracleDBDiskUtilization
E
dit
|
A
ttach
|
P
rintable
|
V
iew topic
|
Backlinks:
We
b
,
A
l
l Webs
|
H
istory
: r14
<
r13
<
r12
<
r11
<
r10
|
M
ore topic actions
Copyright © by IBM and non-IBM contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our
Terms of Use.
Please read the following
disclaimer
.
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more
here
.