JackieTien97 opened a new pull request, #17687:
URL: https://github.com/apache/iotdb/pull/17687

   ## Description
   
   Speed up the **Cluster IT - 1C1D1A** CI pipeline (~52min → ~15-20min) via 
two optimizations:
   
   ### 1. Test consolidation (saves ~20min)
   
   Merge 5 AINode IT test classes into a single `AINodeSharedClusterIT` that 
shares one 1C1D1A cluster:
   - `AINodeDeviceManageIT`
   - `AINodeModelManageIT`
   - `AINodeCallInferenceIT`
   - `AINodeForecastIT`
   - `AINodeInstanceManagementIT`
   
   This reduces cluster startups from **8 to 3** (SharedCluster + ClusterConfig 
+ ConcurrentForecast).
   
   Also converts `AINodeClusterConfigIT` from `@Before/@After` to 
`@BeforeClass/@AfterClass`, eliminating one redundant cluster restart by 
merging both dialect tests into a single method.
   
   The 1C1D1A cluster startup takes ~3.5min each time (ConfigNode + DataNode + 
AINode), so eliminating 5 restarts saves ~17.5min. The actual test execution 
time is only ~9min out of the original 52min total.
   
   ### 2. PyInstaller dist caching (saves ~11min)
   
   Added hash-based caching to `build_binary.py`:
   - Computes SHA256 of all AINode source files, `pyproject.toml`, 
`poetry.lock`, and `ainode.spec`
   - Caches the `dist/` output at `~/.cache/iotdb-ainode-build/dist-cache/` 
(outside project dir, survives `mvn clean`)
   - On cache hit, restores `dist/` directly and skips the entire PyInstaller 
analysis + packaging phase
   
   The PyInstaller phase scans thousands of hidden imports from 
torch/transformers/numpy and takes ~11min. When AINode source hasn't changed, 
this is entirely redundant.
   
   ### Testing
   
   All existing test logic is preserved — the tests are reorganized, not 
changed. `AINodeConcurrentForecastIT` remains separate (different data setup 
and LOAD/UNLOAD side effects).


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