skyon0522-ai opened a new pull request, #888: URL: https://github.com/apache/commons-io/pull/888
An initially absent watched root can later acquire cached children while its initialization-time existence flag stays false. Removing that root then skips the existing child-deletion reconciliation. Reconcile cached children whenever the root is missing. The regression covers two create/remove cycles, empty follow-up polls, and exclusion of the root itself from directory callbacks. This addresses lost descendant notifications related to [IO-420](https://issues.apache.org/jira/browse/IO-420); it does not introduce root create/delete events. The original report and historical workaround are prior art; this change removes the stale guard instead of refreshing root metadata. Validation: - Windows 11, Temurin 17: the new test fails before the production change and passes afterward; all 154 monitor tests pass. - Linux (Ubuntu 24.04 / WSL2), Temurin 17: the same regression fails before the production change and passes afterward. The required default Maven build succeeds: 6,633 tests reported, 0 failures or errors, 26 skipped. The first default-build attempt reported two existing temporary-directory assertions with different startup and runtime temp paths. Both assertions pass after passing `java.io.tmpdir` through process-local `JAVA_TOOL_OPTIONS` at forked JVM startup; the subsequent unfiltered default build uses that environment. No repository code or test was changed for this environment correction. Checklist from the repository template: - [x] Read the [contribution guidelines](https://github.com/apache/commons-io/blob/master/CONTRIBUTING.md). - [x] Read the [ASF Generative Tooling Guidance](https://www.apache.org/legal/generative-tooling.html). - [x] Used AI: OpenAI Codex helped investigate the report, draft the production change and regression test, and review the patch. Tests were actually executed; their observed scope is listed above. - [x] Successful default Maven build on Linux with Temurin 17. - [x] Added a behavioral regression that fails without the runtime change. - [x] Explained the change and its reason. - [x] Prepared a meaningful commit subject and body. -- 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]
