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

   Addressed round 5 (@matrei) and round 4 (@jdaugherty); there is a reply on 
each of the new threads and on the one left open.
   
   **The CI failures.** mongod was crashing on the `op_observer.cpp` invariant 
because `SchemaBasedMultiTenancySpec` dropped MongoDB's `config` database on 
the container its fork shares. In SCHEMA mode every database is a tenant, and 
its cleanup was `eachTenant { DB.drop() }`. The next retryable `findAndModify` 
then had to recreate `config.image_collection` inside the write. The cleanup 
now drops only its own two tenant databases (6fe37380ea). The details and the 
container log are on @jdaugherty's thread. The spec dates from 2020; the new 
specification classes on this branch only changed which specs share a fork.
   
   **@matrei, round 5:**
   
   1. The configuration metadata has both settings (5cafdb298e), and both 
appear in the `spring-configuration-metadata.json` of the built plugin jar. 
While in that file: `grails.mongodb.decimalType` is listed with a default of 
`false`, while `AbstractMongoConnectionSourceSettings` defaults it to `true`. 
That predates this PR, so I've left it.
   2. The deferral while stopped is now a feature in 
`BuildIndexesLifecycleSpec`. On the related detail: `buildIndex()` now decides 
between the warning and the deferral on a `closed` flag that `close()` sets, 
rather than on `running`, so a datastore that was stopped and then closed gets 
the warning.
   
   From the notes: `8.0.x` is merged (abc944e654), `start()` now waits for the 
interrupted worker before deciding, and the spurious re-run is gone (the 
pending-flag thread).
   
   **@jdaugherty, round 4:** every item is fixed with a test except the URL 
scrub, which I've argued on its thread. `sameKeyPattern` now compares in order 
(9a88f6ecd1), and the rest is in d8adb08fcf.
   
   **Run locally,** on the head merged with `8.0.x`, with `-PmaxTestParallel=4` 
as CI uses and a watcher on `docker events` recording any mongod that exits 
without being stopped:
   
   - JDK 21, `:grails-data-mongodb-core:cleanTest 
:grails-data-mongodb-core:check --no-build-cache --continue`, twice: 799 tests, 
0 failures, 0 errors, 45 skipped each time, with `checkstyleMain` and 
`codenarcMain` clean.
   - JDK 25, `:grails-data-mongodb-core:cleanTest 
:grails-data-mongodb-core:test`, twice: 799 tests, 0 failures, 0 errors, 45 
skipped each time.
   - No mongod exited abnormally in any of the four runs.
   - `LocalMongoUnitSpec` passes both features; 
`:grails-data-mongodb-docs:asciidoctor`, root `aggregateViolations` and `rat` 
are clean.
   


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