BESInternalError Exception thrown by the NcML handler not handled properly
When a request is made for 2019-07-28T07:45:43GMT|&|25124|&|get.info_page,dap2,/usr/share/hyrax/agg/disc2.gesdisc.eosdis.nasa.gov/TRMM_3B42_daily_Aggregation_1998.ncml, and exception is thrown in this code: (marked with // ***...). This is in DDSLoader.cc
The exception is likely caught inside the ncml_handler and processing continues, leading to a failure. The correct behavior is for a module to clean up and re-throw so the BES can recover by discarding the command in its top-most read-eval-respond loop. This might be where the error is trapped (modules/ncml_module/SaxParserWrapper.cc):
Fix this catching BESInternalError explicitly at the top of the catch() block and making sure we log that and then rethrow the exception so the BES can process it without trying to continue parsing stuff. Then retry the request.
This problem was fixed in HK-474. The code was throwing an exception (from within DDSLoader::loadInto()) and then calling BESContainer::release() twice for the same container. Bad. Fixed.
ran valgrind besstandalone -d cerr,ncml,cache2,ncml_verbose -c bes.test.conf -i ../bes_cmd.txt 2>&1 | tee ~/error.log
error log has been attached