codeconsole commented on PR #15934:
URL: https://github.com/apache/grails-core/pull/15934#issuecomment-4929127048

   Thanks — this audit was accurate and genuinely useful; all five gaps are now 
addressed in e737052.
   
   1. **Mongo OSIV** — Added `OpenSessionInViewSpec` to 
`grails-test-examples/mongodb/base`, mirroring the Hibernate one, asserting 
`mongoOpenSessionInViewInterceptor` registers in a web app. It exercises the 
same `isWebApplicationRegistry()` fix. I couldn't run it green locally — the 
entire mongodb/base integration suite can't reach Mongo in my environment (the 
existing `BookSpec` fails with the identical `MongoTimeoutException` against a 
local container), so it will run in the MongoDB CI job alongside the others.
   2. **/actuator/health** — Added a `/actuator/health` assertion to 
`ActuatorEnvClosureSpec` (passes locally). It goes through the same MVC 
JSON-converter path the `/env` regression exposed.
   3. **`BeanDefinitionOverrideException` edge** — Added a test that sets 
`allow-bean-definition-overriding=false`, registers a colliding 
plugin+application bean pair, and asserts the exception (passes).
   4. **"Built exactly once"** — Good catch, and it surfaced a real inaccuracy: 
adding a construction counter showed a plugin is instantiated **twice**, not 
once — but that's pre-existing Grails behavior (`DefaultGrailsPlugin` builds a 
`GrailsPluginClass` reference instance *and* the real instance), unrelated to 
this PR. What the retiming actually guarantees is a *single plugin-manager 
pass* rather than a throwaway pass plus the real one (the rejected earlier 
approach, which would have multiplied that count). I reworded the test to 
assert exactly that (early-phase count equals a single bare `loadPlugins()`), 
and corrected the upgrade note that claimed "plugins are instantiated once."
   5. **Flag-reset-on-exception** — Added a test with a plugin whose 
`doWithSpring` throws during the early phase, asserting 
`Environment.isInitializing()` is `false` afterward (passes) — directly 
exercising the `catch` branch.
   
   grails-core full suite, the ordering spec (all 9 cases), and the issue-10279 
actuator spec pass locally; the mongo spec is the only one gated on CI 
infrastructure.
   


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