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]

Reply via email to