Aias00 opened a new issue, #6655: URL: https://github.com/apache/shenyu/issues/6655
- severity: High - files: `shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-common/src/main/java/org/apache/shenyu/plugin/logging/common/collector/AbstractLogCollector.java:72-83` - description: `start()` creates a new `ShenyuThreadPoolExecutor` as a local variable (never stored as a field) and submits `this::consume` to it. No `started.compareAndSet` guard; does not shut down any previously created executor. `AbstractLogPluginDataHandler.handlerPlugin()` calls `logCollector().start()` on every config change. Each call leaks the old pool and starts a competing consumer on the same `bufferQueue`. - impact: On every logging config refresh, a new thread pool and consumer leak; competing consumers cause duplicate log processing and thread exhaustion. - suggested_fix: Store executor as a field; shut it down at the start of `start()`; guard with `started.compareAndSet(false, true)`. - confidence: High - related_existing: none --- _Identified during the 2026-08-02 deep re-scan; full list in [`docs/scan2-2026-08-02/00-consolidated-critical-high.md`](docs/scan2-2026-08-02/00-consolidated-critical-high.md)._ -- 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]
