Skip to content

Conversation

@eric-milles
Copy link
Member

classPropertyIndex and classPropertyIndexForSuper have elements added after initialization via addMetaBeanProperty and getMetaProperty. Prevent concurrent modification exceptions.

see #2366

@jdaugherty
Copy link
Contributor

Will concurrent hash map usage introduce build reproducibility issues?

@eric-milles
Copy link
Member Author

eric-milles commented Jan 15, 2026

The keys of the two indexes are super types (CachedClass). The values (Map<String,MetaMethod>) are still ordered.

@eric-milles
Copy link
Member Author

I only see iteration over the outer map for purposes of copying into the super index. All other access is controlled by some external source of order.

@jdaugherty
Copy link
Contributor

Is there a chance this could be back ported to 4.0.x?

@eric-milles
Copy link
Member Author

If the change is acceptable, I should be able to get it back into 4.

@jdaugherty
Copy link
Contributor

Thank you @eric-milles If you can create the branch for the backport, I can retest in 4.x too.

@codecov-commenter
Copy link

codecov-commenter commented Jan 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.0225%. Comparing base (d0a53bd) to head (db96c92).

Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##               master      #2367   +/-   ##
=============================================
  Coverage     67.0225%   67.0225%           
+ Complexity      29420      29418    -2     
=============================================
  Files            1382       1382           
  Lines          116152     116146    -6     
  Branches        20465      20466    +1     
=============================================
- Hits            77848      77844    -4     
+ Misses          31814      31812    -2     
  Partials         6490       6490           
Files with missing lines Coverage Δ
src/main/java/groovy/lang/MetaClassImpl.java 77.9806% <100.0000%> (-0.0183%) ⬇️

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@eric-milles eric-milles merged commit 9b1cdd0 into master Jan 15, 2026
29 checks passed
@eric-milles eric-milles deleted the GROOVY-11841 branch January 15, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants