stevedlawrence opened a new pull request, #1252: URL: https://github.com/apache/daffodil/pull/1252
DataProcessors are currently stored in a "processor" variable in each TestCase for easy access while a TestCase is running. However, once a TestCase finishes running, it really shouldn't hold on to this DataProcessor anymore so that it can be garbage collected. We now set that variable to null when finished to allow this. Note that this does not remove DataProcessors from the compile cache--it only allows garbage collection of DataProcessor created with one of the withXYZ functions to tweak the cached processor for a specific test. Allowing garbage collection of DataProcessors is especially important when Xerces validation is enabled, since each DataProcessor hold a unique instance of a possibly very large Xerces validator. We likely need to change how we store Xerces validators so that they can be shared, but in the meantime this change at least allows a large number of TDML tests to run with validation enabled without running into OutOfMemory errors. DAFFODIL-2901 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
