Repository navigation
#158 document the JDK XML limits for sitemaps and feeds - #2263
Conversation
|
Thanks for tracking this down. I'd rather not bring Xerces back, though: 2.12.2 is from 2022, Xerces hasn't had a release since, and putting it on the classpath swaps out the SAX parser for everything in the worker, not just sitemaps and feeds. The JDK parser can handle this with two system properties. I tried it on JDK 25.0.3 with a sitemap of 34,000 URLs and three So my suggestion would be to document these for the worker JVMs ( Longer term, crawler-commons could set the two limits on its own parser in |
|
heya, makes sense, with 4.0 being a major release it's a good moment to drop Xerces. I'll rework this PR into docs for the two properties. Mainly wanted to flag the regression before the release 🙂 |
2d4d90b to
6f1a37f
Compare
|
ping @rzo1 |
Without Xerces, crawler-commons, ROME and Tika use the JDK parser, which fails on documents with many entity references. Document the two jdk.xml options and set them in the archetypes' worker options.
6f1a37f to
7889f17
Compare
|
I’ve expanded the wording to cover XML-based documents parsed by Tika, including OpenDocument files, and added a note for applications using Xerces classes directly. Separately, the 4.0 migration guide is missing several breaking changes already documented elsewhere. I’ll prepare a separate docs PR to collect the upgrade steps and link to the existing module documentation. |
As discussed, this replaces the Xerces restore with docs. The archetypes now pass
-Djdk.xml.maxGeneralEntitySizeLimit=0 -Djdk.xml.totalEntitySizeLimit=0to the workers. The configuration docs also cover local mode (STORM_JAR_JVM_OPTS) and the Tika fork (parser.tika.pipes.jvmargs), and the 4.0 migration notes point there.