jdaugherty commented on PR #16631: URL: https://github.com/apache/grails-core/pull/16631#issuecomment-6429631970
@jamesfredley, review 5660053162 is addressed, and the head is now 6b133f1c64. The feature commit was rebased onto 9.0.x (9549579958) unchanged as b7ff57e508, and two commits follow it: **6b133f1c64: default action.** A request to `/book` keeps its `before` interceptor's statements on `book/index`; see the reply in the thread. **bc9f326645: hardening.** - **MongoDB restore**: a client that is not a `RestartableMongoClient` used to leak the capture of its replacement's listener after a CRaC restore, and recorded with no mapping bound. Now the replacement's listener takes the place of the closed client's, which is closed, and keeps its mapped fields. A connection source of another kind closes it at once. `createMongoClient` closes the capture nothing could own. - **Unwritable capture file**: the file, or its directory, cannot be created. This used to stop Hibernate, MongoDB and embedded Neo4j from starting. Now it is logged as a warning, and the capture records nothing. The Neo4j driver and embedded-server cleanup that existed only for that failure is gone. - **Relative `grails.gorm.queryTail.file`**: now joined to `base.dir` when it is set, as the default file and the command already were, so an application run from another working directory writes where `grails query-tail` reads. - **Test runs**: the Gradle plugin tells every test JVM the build's run, not only when query-tail settings are Gradle properties, so capture enabled for the test environment in `application.yml` adds up to one run. A run given as `-Pgrails.gorm.queryTail.run` is passed as it is. - **Extensions**: the extension of a last segment kept by its name is now recorded as `?`, e.g. `/book/show.json` → `/book/show.?`, since a client chooses it as it chooses a format. - **MongoDB stored data**: unmapped keys at the top of stored data (inserted documents, replacement documents, the fields an update writes, and the operands of `$literal`, `$const` and `$documents`) are now `?`, as a dynamic attribute's name may be data. Condition, pipeline, sort and projection keys are still kept. - **Mapped fields**: the entities of each collection are gathered again only when the mapping context reports a new entity, instead of a queue walk per key. - **Neo4j**: a `Driver` handed to the datastore is captured. Its settings are now bound with `grails.gorm` fallbacks, as a driver GORM builds already was. - **Locking**: `isOpen()` no longer takes the write lock. Opening a file waits on another JVM's starting writer under a per-file lock, not the one every open and close in the JVM takes. - **Thread work**: `query-tail` lists threads after the pages of requests, with `-` for requests and averages, and no longer counts them as requests, so `BootStrap` or a test worker cannot top the ranking. - **API cleanup**: removed the test-only `QueryTailSettings.from(...)`, `QueryTailCapture.open(QueryTailSettings)` and `recordRedacted(String, String)`. The Hibernate 5 and 7 inspectors now share `QueryTailRecorder` for the capture lifecycle. The guide and the command reference are updated to match. -- 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]
