ammachado opened a new pull request, #26609:
URL: https://github.com/apache/camel/pull/26609

   ## Description
   
   Follow-up to 
[CAMEL-24485](https://issues.apache.org/jira/browse/CAMEL-24485) (#26568). 
Tracks [CAMEL-24829](https://issues.apache.org/jira/browse/CAMEL-24829).
   
   #26568 stopped `windows-validator` from killing slow-but-passing runs, but 
the suite is still slow: on that PR's own run it took **1206 s** (it would have 
failed under the old 1200 s limit). The per-process timing lines #26568 added 
show where the time goes:
   
   | Process | Count | Total | Median | Max |
   |---|---|---|---|---|
   | `install.ps1` | 46 | **1192 s (99%)** | 25.4 s | 51.6 s |
   | `powershell -Command` registry helpers | 43 | 10.3 s | 0.24 s | 0.3 s |
   | `camel.cmd` shim calls | 10 | 0.4 s | 0.03 s | 0.04 s |
   
   - `powershell.exe` itself starts in about 0.24 s, and a parameter-binding 
failure (`install.ps1 -Version`) exits in 0.3 s.
   - Every `install.ps1` launch that reaches the script body pays about 24 s 
regardless of work. `-Version 1.2.3-SNAPSHOT` is rejected at install.ps1 line 
~314 with no network I/O and still takes 24.1 s.
   - Prime suspect: the test-only CA-certificate block (install.ps1 lines 
~52-104), which compiles C# via `Add-Type` (csc.exe) on every launch under 
Windows PowerShell 5.1. Production installs never set `CAMEL_INSTALL_CA_CERT`. 
Secondary suspect: `WebsiteInstallerFixture.run()` clears the child 
environment, while the fast helpers inherit it.
   
   ### Current state: diagnostic only (draft)
   
   This commit adds a **temporary**, `continue-on-error` step to 
`windows-validator`. It times, twice each:
   - bare `powershell.exe` startup and a bare `Add-Type`, in the full and in a 
fixture-like cleared environment;
   - `install.ps1 -Version 1.2.3-SNAPSHOT` across {full, cleared env} x {with, 
without `CAMEL_INSTALL_CA_CERT`}.
   
   The harness was smoke-tested locally with `pwsh` on macOS (argument passing, 
cleared vs full environment, CA variable). The Windows run is the real 
measurement.
   
   ### Next
   
   Once the cause is confirmed, this PR will replace the diagnostic step with 
the fix (candidates: compile the validator once and load it, or serve most 
tests over `http://` and keep HTTPS for the TLS-specific tests), and reconsider 
the 2700 s fork timeout. Separately, `rejectsUnknownParameter` currently passes 
for the wrong reason: install.ps1 ignores unknown arguments, and the test only 
passes because the unpublished manifest returns 404. That is described in 
CAMEL-24829 and may be fixed here or split out.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code) on behalf of 
Adriano Machado (@ammachado)
   
   _This was generated by an AI agent and may contain inaccuracies. Please 
verify before relying on it._
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to