linghengqian opened a new issue, #2543:
URL: https://github.com/apache/shardingsphere-elasticjob/issues/2543

   ## Bug Report
   
   **For English only**, other languages will not accept.
   
   Before report a bug, make sure you have:
   
   - Searched open and closed [GitHub 
issues](https://github.com/apache/shardingsphere-elasticjob/issues).
   - Read documentation: [ElasticJob 
Doc](https://shardingsphere.apache.org/elasticjob/current/en/overview/).
   
   Please pay attention on issues you submitted, because we maybe need more 
details. 
   If no response anymore and we cannot reproduce it on current information, we 
will **close it**.
   
   Please answer these questions before submitting your issue. Thanks!
   
   ### Which version of ElasticJob did you use?
   
   - 
https://github.com/apache/shardingsphere-elasticjob/commit/2a747ab788f9ff0c1cde0d123cd7206bba480531
   
   ### Expected behavior
   
   - CI is normal.
   
   ### Actual behavior
   
   - See 
https://github.com/apache/shardingsphere-elasticjob/actions/runs/35745108755/job/106804579785?pr=2540
 .
   
   ### Reason analyze (If you can)
   
   - `#2540` (`Supports Nacos and in-memory storage as the registry center`) 
carries several changes that were made only to get the CI green. They are 
unrelated to the Nacos / in-memory registry center feature and should land as 
their own PR.
   - The `build` job runs with `-T1C`, so several test JVMs execute 
concurrently, each embedding its own ZooKeeper / Nacos server. Under CPU 
contention the client session churns and reads race the client shutdown, 
surfacing as:
     - `IllegalStateException: Client is not started or has been closed`
     - `org.apache.curator.framework.api.CuratorClosedException: Expected state 
[STARTED] was [STOPPED]`
     - 
`org.apache.shardingsphere.elasticjob.kernel.exception.JobConfigurationException:
 JobConfiguration was not found`
   - Reproduced on `windows-latest`, `macos-latest` and the GraalVM leg.
   -  [ ] `ZookeeperRegistryCenter.close()` deregisters `dataListeners` / 
`connStateListeners` and clears `caches`; `getDirectly` / `getChildrenKeys` / 
`getNumChildren` / `isExisted` return empty defaults once closed; `watch()` 
skips a path that was never cached (`ZookeeperRegistryCenterClosedTest` added)
   - [ ] `AbstractDistributeOnceElasticJobListener` bounds its `while` loops 
with a single deadline shared by the register and wait phases, clearing stale 
`/started` / `/completed` info on timeout 
(`DistributeOnceElasticJobListenerTest` 6 → 10 tests)
   - [ ] `TriggerListenerManager` validates the job registry before consuming 
the trigger flag, so a failed trigger no longer loses the flag; also drops the 
repeated `getInstance()` lookups and the null-controller NPE 
(`TriggerListenerManagerTest` 6 → 7 tests)
   - [ ] `NacosJavaTest` uses an `Awaitility` readiness wait that aborts via 
`Assumptions.abort()` instead of `Thread.sleep` — junit-jupiter-api 5.10.3 has 
no `org.junit.jupiter.api.TestAbortedException`
   - [ ] Keep the E2E suites (`test/e2e/coordination`, `test/e2e/lifecycle`, 
`test/e2e/leader-executor`) out of the parallel `-T1C` build in 
`.github/workflows/maven.yml`, or annotate the three `*Suite` classes with 
testcontainers' `@EnabledIfDockerAvailable` (available since testcontainers 
2.0.5)
   - [ ] Record the residual upstream behaviour: `PersistentWatcher.reset()` in 
Curator 5.9.0 retries recursively with no backoff and no attempt limit, and 
`CuratorCacheImpl.close()` removes watches asynchronously, so 
`waitForCacheClose()` remains load-bearing for CURATOR-157
   
   ### Steps to reproduce the behavior.
   
   - See https://github.com/apache/shardingsphere-elasticjob/pull/2540 .
   
   ### Example codes for reproduce this issue (such as a github link).
   
   - See 
https://github.com/apache/shardingsphere-elasticjob/actions/runs/35745108755/job/106804579785?pr=2540
 .
   


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