mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-15 01:16:09 +00:00
LongGCDisruption suspends and resumes node threads but respects several `unsafe` class name patterns where it's unsafe to suspend. For instance log4j uses a global lock so we can't suspend a thread that is currently calling into log4j. The same is true for the security manager, it's similar to log4j a shared resource between the test and the node that is _suspended_. This change adds `java.lang.SecrityManager` to the unsafe patterns. This prevents test framework deadlocking if a nodes thread is supended while it's calling into the security manager that uses synchronized maps etc.