Forum Discussion
ebertb
12 years agoNew Contributor
The SoapUI version being used is 4.6.4. We are using it through Java and not the UI. Various tests are run periodically containing REST request steps, property transfer steps, and groovy script steps/assertions. There are some cases where we do retrieve fairly large REST responses (a few Megabytes in size).
I noticed that InferredSchemaManager.release() doesn't end up getting called in our use case, but it can be explicitly called on an instance of WsdlProject via its release() method. However, doing this messes up any other test cases that may be running concurrently in other threads.
Here is a screenshot showing memory usage up to 15G. You can see that over time, InferredSchemaManager ends up having over 17 million entries that never get removed.
Here is a screenshot showing memory usage after putting the HashMaps into ThreadLocal (and running for a few days), which solves it only for our use case where we are running each test case in its own thread.
I noticed that InferredSchemaManager.release() doesn't end up getting called in our use case, but it can be explicitly called on an instance of WsdlProject via its release() method. However, doing this messes up any other test cases that may be running concurrently in other threads.
Here is a screenshot showing memory usage up to 15G. You can see that over time, InferredSchemaManager ends up having over 17 million entries that never get removed.
Here is a screenshot showing memory usage after putting the HashMaps into ThreadLocal (and running for a few days), which solves it only for our use case where we are running each test case in its own thread.