jamesfredley opened a new pull request, #15797:
URL: https://github.com/apache/grails-core/pull/15797

   ## Summary
   
   - remove empty converter and datastore ThreadLocal holders when scoped state 
is cleared
   - prevent SoftThreadLocalMap child threads from sharing parent map state
   - add virtual-thread regression coverage for converter scoped configs, 
datastore deferred close lifecycle, and encoder chaining
   
   ## Verification
   
   - `./gradlew :grails-converters:test --tests 
org.grails.web.converters.configuration.ConvertersConfigurationHolderSpec 
:grails-datastore-core:test --tests 
org.grails.datastore.mapping.core.DatastoreUtilsSpec :grails-encoder:test 
--tests org.grails.encoder.ChainedEncodersSpec`
   - `./gradlew clean aggregateViolations :grails-test-report:check --continue`
   - Combined report: 13623 tests, 0 failures, 0 errors, 267 skipped
   - Unit report: 10729 tests, 0 failures, 0 errors, 258 skipped
   - Integration/functional report: 2894 tests, 0 failures, 0 errors, 9 skipped
   - Checkstyle, CodeNarc, PMD, SpotBugs: no violations found
   - Review-gate: Oracle GREEN; Codex GREEN for source changes, with only 
untracked `.omo/` and `tmp-pr-response.md` artifact noise outside the shipping 
diff
   
   ## Performance/readiness notes
   
   - Default converter lookup no longer allocates a per-thread map.
   - Clearing the last scoped converter config removes the ThreadLocal entry.
   - Deferred datastore close cleanup removes the ThreadLocal entry instead of 
leaving a null value.
   - Existing encoder ThreadLocal cache remains intact to avoid an unmeasured 
regression.


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