We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Describe the bug With virtual threads enabled a call to /actuator/refresh pins virtual threads.
/actuator/refresh
The ContextRefresher uses synchronized on both refresh and refreshEnvironment, so it seems they are not ready for use with virtual threads:
ContextRefresher
synchronized
refresh
refreshEnvironment
public synchronized Set<String> refresh() { Set<String> keys = refreshEnvironment(); this.scope.refreshAll(); return keys; } public synchronized Set<String> refreshEnvironment() { Map<String, Object> before = extract(this.context.getEnvironment().getPropertySources()); updateEnvironment(); Set<String> keys = changes(before, extract(this.context.getEnvironment().getPropertySources())).keySet(); this.context.publishEvent(new EnvironmentChangeEvent(this.context, keys)); return keys; }
There could be more places of course
Are there plans to support virtual threads (with ReentrantLock)?
ReentrantLock
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Describe the bug
With virtual threads enabled a call to
/actuator/refresh
pins virtual threads.The
ContextRefresher
usessynchronized
on bothrefresh
andrefreshEnvironment
, so it seems they are not ready for use with virtual threads:There could be more places of course
Are there plans to support virtual threads (with
ReentrantLock
)?The text was updated successfully, but these errors were encountered: