-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HHH-18901 #9636
base: 6.6
Are you sure you want to change the base?
HHH-18901 #9636
Conversation
Thanks for your pull request! This pull request does not follow the contribution rules. Could you have a look? ❌ The pull request title should contain at least 2 words to describe the change properly › This message was automatically generated. |
d4e96fc
to
43ef237
Compare
...rnate-core/src/main/java/org/hibernate/bytecode/enhance/internal/bytebuddy/EnhancerImpl.java
Show resolved
Hide resolved
.../main/java/org/hibernate/bytecode/enhance/internal/bytebuddy/OverridingClassFileLocator.java
Outdated
Show resolved
Hide resolved
...-core/src/main/java/org/hibernate/bytecode/enhance/internal/bytebuddy/SafeCacheProvider.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well this must have been quite an adventure :) Thanks a lot for taking care of it!
I added a few comments, but this looks reasonable to merge as is.
...rnate-core/src/main/java/org/hibernate/bytecode/enhance/internal/bytebuddy/EnhancerImpl.java
Outdated
Show resolved
Hide resolved
...nate-core/src/main/java/org/hibernate/bytecode/enhance/internal/bytebuddy/ModelTypePool.java
Show resolved
Hide resolved
resolutions.remove( className ); | ||
poolCache.remove( className ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe do this in deregisterClassNameAndBytes
as well? Just in case...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just to highlight, I've ignored this comment as I'm not very comfortable with the "just in case" ..it's indeed tempting, but it's beind de-registered in a finally
block already so I wonder if it's making things a bit confusing for "future us".
Feel free to add it later if you feel strongly about it.
hibernate-core/src/main/java/org/hibernate/cfg/BytecodeSettings.java
Outdated
Show resolved
Hide resolved
...ate-core/src/main/java/org/hibernate/jpa/internal/enhance/EnhancingClassTransformerImpl.java
Outdated
Show resolved
Hide resolved
...ate-core/src/main/java/org/hibernate/jpa/internal/enhance/EnhancingClassTransformerImpl.java
Outdated
Show resolved
Hide resolved
…rrent enhancement In particular, made it defensive against concurrent enhancement of the same resource, or of resources that might trigger loading symbols which another thread is re-processing.
43ef237
to
7158074
Compare
Revised and ready |
Draft solution for https://hibernate.atlassian.net/browse/HHH-18901
We don't have a good test for this, and I didn't yet link the commits to appropriate Jiras... but I'd consider it now stable enough for others to have a look.
Specifically targeting branch 6.6 for now as that's where we can reproduce it: I'll "forward port" this if you all like it.
Thanks!