Details
Description
Starting with tika 1.20 the org.apache.tika.utils.XMLReaderUtils try to detect if a XML parser supports the reset() functionality by calling reset() during the poolParser creation and watching for a UnsupportedOperationException.
This unfortunately does not work in weblogic server as the attained RegistryParser itself caches underlying SAX parsers. Only after first use the reset() of the underlying SAXParser is called and will produce the UnsupportedOperationException. A first call to reset() will not produce this exception and XMLReaderUtils thinks, the parser supports reset() which in effect is not true.
This results in exhaustion of the parser pool and intermittent errors and delays in processing as the pool is reset when a parser is not available after 5 minutes.