jamesfredley opened a new pull request, #15956: URL: https://github.com/apache/grails-core/pull/15956
## Description ### What was found | Problem | Impact | | --- | --- | | URL mappings are resolved at runtime with linear/holder matching | Startup and request routing cost stays higher than needed | | No build-time index SPI for mappings | Future precomputation work has no safe landing path | | Google Doc 4.2 listed this as 8.1+ architecture | Needs a starter that preserves runtime fallback | ### What changed | Area | Change | | --- | --- | | Index properties | Add `UrlMappingsIndexProperties` for optional `META-INF/grails/url-mappings-index.properties` | | Runtime holder | Hook `DefaultUrlMappingsHolder` to prefer index data when present | | Fallback | Existing runtime mapping behavior remains when no index exists | | Docs / tests | Upgrade note + fallback-path unit coverage | ### Out of scope / follow-up | Topic | Status | | --- | --- | | Full trie/routing precomputation | 8.1+ | | Reverse-routing table generation | Follow-up | | AST transform writing the index at compile time | Follow-up | ### Related MD topics | Source | Topic | | --- | --- | | Google Doc 4.2 | URL mapping pre-computation | | Status map | Not covered / defer -> starter now | ## Contributor Checklist ### Issue and Scope - [x] Starter PR for future architecture; no acknowledged issue required for discussion. - [x] Runtime behavior preserved without an index. - [x] Single focused seed change. - [x] Targets `8.0.x` as an experimental starter for 8.1 work. ### Code Quality - [x] Tests cover the fallback path. - [x] Focused module tests run locally. - [x] No mass reformatting. - [x] Generative AI starting point; labeled. ### Licensing and Attribution - [x] Apache License 2.0. - [x] Contributor rights confirmed. - [x] `ai-generated-starting-point` label applied. ### Documentation - [x] Upgrade note added. - [x] PR description explains scope. Assisted-by: Sisyphus:xai/grok-4.5 [gpt-coding] -- 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]
