The GitHub Actions job "CI" on 
grails-core.git/chore/8.1.x-datamapping-core-transform-cleanup has failed.
Run started by GitHub user jdaugherty (triggered by jdaugherty).

Head commit for run:
f7e08a3f8b3384af722d87223934e5afaa462055 / Walter Duque de Estrada 
<[email protected]>
Add specs and clean up transactions.transform/transform in 
grails-datamapping-core

Closes direct unit-spec coverage gaps left after PR #16148 for
RollbackTransform, AbstractDatastoreMethodDecoratingTransformation,
AbstractMethodDecoratingTransformation, AstMethodDispatchUtils, and
AstPropertyResolveUtils. Writing the AstPropertyResolveUtils spec
surfaced a real correctness bug: its property cache was keyed by
class name (a String), so two distinct ClassNode instances sharing a
name (e.g. from separate compilations of dynamically-generated/test
classes) silently corrupted each other's cached property data under
concurrent use. Fixed by keying the cache on ClassNode identity via a
synchronized IdentityHashMap.

Also extracts the duplicated applied-marker idempotency check/mark
pattern (repeated across AbstractGormASTTransformation,
AbstractMethodDecoratingTransformation, and
AbstractDatastoreMethodDecoratingTransformation) into shared
isAlreadyApplied/markApplied helpers, and applies a batch of small
cleanups flagged by static analysis: equals() calls replaced with ==,
an unused method parameter removed, Java 21 instanceof pattern
variables replacing raw-type casts, String#isEmpty() over
length()==0, Class#getDeclaredConstructor().newInstance() over the
deprecated Class#newInstance(), and two stray doc/comment fixes.

Co-Authored-By: Claude Sonnet 5 <[email protected]>

Report URL: https://github.com/apache/grails-core/actions/runs/36732679542

With regards,
GitHub Actions via GitBox

Reply via email to