sandynz commented on PR #2532:
URL: 
https://github.com/apache/shardingsphere-elasticjob/pull/2532#issuecomment-5112146459

   ### Summary
   
     **Review Result: Mergeable**
   
     **Reason:** The latest commit fixes the cache-staleness source at both 
lifecycle assignment consumers without changing registry-center, kernel, API, 
or SPI contracts. This result is code-scope only; CI was not reviewed
     by request.
   
     ### Evidence
   
     - `JobStatisticsAPIImpl#isHasShardingFlag()` now reads 
`/<job>/sharding/<item>/instance` through `getDirectly()`, so job status 
follows the authoritative assignment rather than a potentially stale provider 
cache.
     - `ShardingStatisticsAPIImpl#getShardingInfo()` applies the same 
direct-read policy before resolving instance ID and server IP.
     - The change matches the provider contract:
       - `ZookeeperRegistryCenter#get()` may return a `CuratorCache` value.
       - `ZookeeperRegistryCenter#getDirectly()` reads through the Curator 
client.
       - `EtcdRegistryCenter#getDirectly()` likewise bypasses its local cache.
     - Regression tests distinguish cached and authoritative assignment values:
       - `JobStatisticsAPIImplTest` verifies that a stale cached assignment 
does not incorrectly produce `SHARDING_FLAG`.
       - `ShardingStatisticsAPIImplTest` verifies that the current instance ID 
and server IP are returned instead of the cached previous assignment.
     - No public API, SPI, configuration, dependency, packaging, or 
persisted-data format was changed.
     - The existing non-atomic relationship between assignment, instance 
metadata, and marker nodes remains outside this narrowly defined fix and is not 
newly introduced.
   
     ### Review Details
   
     - **Review Focus:** Code Correctness Review — CI not reviewed by request.
     - **Reviewed Scope:** `lifecycle` production and test changes in commit 
`7aa0a05dbdfadaafa79c3352b09b57e20143b966`; local merge-base 
`8ad78c68410e96f806ef4b1aa56641d245fd8f9e`. All four changed files were 
reviewed. A
     GitHub `/pulls/{number}/files` comparison was not applicable because the 
target was a local branch and commit rather than a numbered PR.
     - **Not Reviewed Scope:** GitHub Actions, live ZooKeeper/etcd integration 
execution, and the separate instance-traversal/deletion-race follow-up.
     - **Verification:**
       - `./mvnw -pl lifecycle -DskipITs -DskipTests=false test` — exit 0; 48 
tests passed.
       - `./mvnw spotless:check -Pcheck -T1C` — exit 0.
       - `./mvnw checkstyle:check -Pcheck -T1C` — exit 0; 0 violations.
     - **Release Note / User Docs:** Not required. This is an internal 
lifecycle consistency correction with no user-facing configuration, API, 
migration, or compatibility change.


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