Arturo Bernal created JSPWIKI-1178:
--------------------------------------
Summary: Deadlock with Java Virtual Threads
Key: JSPWIKI-1178
URL: https://issues.apache.org/jira/browse/JSPWIKI-1178
Project: JSPWiki
Issue Type: Improvement
Reporter: Arturo Bernal
With the upcoming release of JDK 21, it's anticipated that a new feature called
"Virtual Threads" will be included. This feature may introduce a potential
deadlock issue in JSPWiki application, particularly when blocking operations
occur within {{synchronized}} blocks/methods. In such cases, the platform
thread associated with a virtual thread may become "pinned" and unavailable to
execute other virtual threads.
This ticket aims to:
# Investigate if and how the JSPWiki application might be affected by this
change in JDK 21's Virtual Threads.
# If found to be at risk of the aforementioned deadlock situation, propose and
implement changes to address this issue, ensuring the application's stability
and performance aren't compromised.
*Steps to Reproduce:*
While this issue isn't currently reproducible as JDK 21 hasn't been released
yet, potential risk areas in the application code can be identified by looking
for {{synchronized}} blocks/methods that contain blocking operations.
*Suggested Actions:*
# Conduct an audit of the ScanPro application's source code to identify any
{{synchronized}} blocks/methods that may contain blocking operations.
# Analyze the potential impact of the "Virtual Threads" feature on these code
segments.
# If a risk of deadlock is identified, explore alternative solutions or
workarounds. This could involve refactoring the code, using different
concurrency controls, or adjusting the usage of resources.
# Test these changes thoroughly in a controlled environment before deploying
them to production.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)