hemanth-19 commented on PR #25239:
URL: https://github.com/apache/pulsar/pull/25239#issuecomment-3883063862

   ## Local build notes (for reviewers — not a code issue)
   
   **tl;dr** — the broker module compiles cleanly and Checkstyle is green. The 
failures below are all environment constraints on the dev machine, not problems 
with this PR.
   
   ---
   
   ### What succeeded
   
   | Step | Result |
   |------|--------|
   | `mvn install -Pcore-modules,-main -DskipTests -rf 
:pulsar-client-messagecrypto-bc` | **BUILD SUCCESS** — full core reactor 
installed |
   | Checkstyle on `pulsar-broker` | **0 violations** |
   | All 14 new/changed files compile | ✓ |
   
   A fix was needed mid-way: the initial parallel build (`-T 4`) had a 
**pre-existing reactor race** where `pulsar-client-messagecrypto-bc` started 
compiling against `bouncy-castle-bc-4.2.0-SNAPSHOT-pkg.jar` before the 
`package` phase finished writing it. This is a known fragility in the Pulsar 
reactor and is **unrelated to this PR**. Rebuilding sequentially (no `-T` flag) 
resolved it immediately.
   
   One genuine bug caught by the local build: three casts in 
`AdaptiveThrottleEndToEndTest.java` were written as `(long)(expr)` instead of 
`(long) (expr)` (missing space after typecast). Fixed and force-pushed to the 
branch before the Checkstyle run.
   
   ---
   
   ### Why the build stopped at `pulsar-offloader-distribution`
   
   The `mvn install -rf :pulsar-broker` run continued downstream into 
`pulsar-offloader-distribution`, which needs `tiered-storage-file-system` and 
`tiered-storage-jcloud` — modules that weren't in the local cache because they 
sit outside the `core-modules` profile scope. This failure is **completely 
unrelated to the throttling change**; it would happen on any clean checkout 
without a prior full install.
   
   ---
   
   ### Why the targeted tests did not finish locally
   
   Surefire's default configuration for `pulsar-broker` forks 4 JVMs 
simultaneously, each with `-Xmx1300M -XX:+UseZGC`. On this dev machine that 
totals ~5.2 GB of heap, which exceeds available memory. The JVM exits with 
`Error occurred during initialization of VM` before running a single test — no 
test failure, purely a resource limit.
   
   To reproduce the test run on any machine with ≥ 2 GB free heap:
   
   ```bash
   mvn test -pl pulsar-broker \
     
-Dtest="AdaptivePublishRateLimiterTest,AdaptivePublishThrottleControllerTest,\
   AdaptiveThrottleEndToEndTest,ThrottleTypeEnumTest" \
     -DfailIfNoTests=false \
     -DforkCount=1 -DreuseForks=true \
     -DargLine="-Xmx512m -XX:+UseSerialGC" \
     --no-transfer-progress
   ```
   
   CI (GitHub Actions) runs in a clean environment with sufficient memory and 
will validate the full suite there.


-- 
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