The GitHub Actions job "CI" on grails-core.git/fix/web-transaction-attribute-copy has failed. Run started by GitHub user borinquenkid (triggered by borinquenkid).
Head commit for run: afe91b0a906016d90eb81c3cd86289d15f5e3f5c / Walter Duque de Estrada <[email protected]> fix: preserve full transaction attribute state in GrailsTransactionAttribute copy constructors Mirrors the CustomizableRollbackTransactionAttribute fix (4042a87d54) split out of PR #15779 review, applied to the web-tier twin in org.grails.transaction. The RuleBasedTransactionAttribute overload now delegates to Spring's own copy constructor (super(other)), which snapshots the rule list from the field without invoking the source's lazy getRollbackRules() (which would mutate the source by assigning a new list into it). The TransactionDefinition and TransactionAttribute overloads recover the dynamic type and snapshot rules through a temporary Spring copy, so the source is never mutated on any path. All paths now explicitly carry the attribute-level state that Spring 7's DefaultTransactionAttribute copy constructor does not: descriptor, timeoutString, qualifier, and labels (defensively copied, since setLabels stores the given reference), plus inheritRollbackOnly. Also fixes GString-style placeholders ("$ex", "$winner") in trace logging that never interpolated in this .java source, and guards the remaining trace call behind isTraceEnabled(). Covered by GrailsTransactionAttributeSpec (copy independence and state preservation for every constructor dispatch path, including statically dispatched entries). Co-Authored-By: Claude Fable 5 <[email protected]> Report URL: https://github.com/apache/grails-core/actions/runs/30473845087 With regards, GitHub Actions via GitBox
