sandynz commented on PR #38834:
URL: https://github.com/apache/shardingsphere/pull/38834#issuecomment-4656047265

     ### Summary
   
     - **Merge Decision: Mergeable**
     - **Reason:** The patch handles the verified transient list-query race at 
the per-job info construction point without changing job lifecycle, 
configuration format, or operation semantics.
   
     ### Evidence
   
     - `PipelineJobManager#getJobInfos` still obtains the ElasticJob brief list 
first, but now builds each `PipelineJobInfo` through `createJobInfo` and skips 
only `PipelineJobNotFoundException` for that individual job
     
(`kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/service/PipelineJobManager.java:178`).
     - The swallowed exception is narrowly scoped to missing detailed job 
configuration: `PipelineJobIdUtils#getElasticJobConfigurationPOJO` throws it 
only when the configuration API returns `null` (`kernel/data-
     
pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/id/PipelineJobIdUtils.java:102`).
     - The replacement construction path is semantically equivalent to the old 
`PipelineJobConfigurationManager#getJobConfiguration` path, which also only 
swaps `getElasticJobConfigurationPOJO(jobId).getJobParameter()`
     into a pipeline job configuration 
(`kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/service/PipelineJobConfigurationManager.java:49`).
     - Regression coverage directly models the original race: one valid brief 
job and one brief job whose detailed config lookup throws 
`PipelineJobNotFoundException`; the list returns only the valid job info 
(`kernel/
     
data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/job/service/PipelineJobManagerTest.java:49`).
     - Shared-path blast radius is acceptable: the changed method is used by 
migration and CDC list DistSQL executors, both read-only list paths, and the 
patch preserves filtering by transmission job type before fetching
     detailed configuration 
(`kernel/data-pipeline/scenario/migration/distsql/handler/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/distsql/handler/query/ShowMigrationListExecutor.java:48`,
     
`kernel/data-pipeline/scenario/cdc/distsql/handler/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/distsql/handler/query/ShowStreamingListExecutor.java:46`).
     - No SQL parser behavior, routing precedence, config keys, public API/SPI 
contracts, dependencies, packaging, or diagnostics are changed.
   
     ### Review Details
   
     - **Reviewed Scope:** Local open-source branch range 
`add8ddc056343bf709388de5810f206573b5d7c0^..add8ddc056343bf709388de5810f206573b5d7c0`;
 base SHA `32a929182f8d160d1779b2f7db9442ae7932a954`; reviewed files are
     
`kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/service/PipelineJobManager.java`
 and 
`kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/
     job/service/PipelineJobManagerTest.java`. GitHub `/pulls/{number}/files` 
comparison is not applicable because this review used the user-provided local 
commit range rather than a GitHub PR number.
     - **Not Reviewed Scope:** Full nightly e2e, registry-center integration 
timing under real cluster load, and unrelated pipeline job operation paths 
beyond checking callers and the unchanged configuration lookup
     semantics.
     - **Verification:** JetBrains `get_file_problems` on both changed files: 
no problems. `./mvnw -pl kernel/data-pipeline/core -am -DskipITs 
-Dspotless.skip=true -Dtest=PipelineJobManagerTest -DfailIfNoTests=false
     -Dsurefire.failIfNoSpecifiedTests=false test`: exit 0.
     - **Release Note / User Docs:** Not required; this is an internal 
robustness fix for transient list-query consistency and does not add 
user-facing configuration, syntax, API, migration steps, or changed documented
     behavior.
   


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