Open dr0i opened 1 month ago
How is this a bug in Metafacture? You can adjust the limit if necessary:
Thx @blackwinter - I have hoped there is a setting :)
So, using the runner we change its build.gradle
to:
~applicationDefaultJvmArgs = ["-agentlib:hprof=heap=sites,cpu=samples,depth=${depth},cutoff=${cutoff},file=${file}.hprof.txt -Dinvokejdk.xml.totalEntitySizeLimit=0"]
~ (EDIT dr0i: this is not working. Try JAVA_TOOL_OPTIONS=-Djdk.xml.totalEntitySizeLimit=0 ./gradlew :metafix-runner:run --args="$pathToFlux"
)?
May we think about:
a) making this default
b) introducing a parameter for XmlDecoder
Changing the JVM args in the Metafix runner is effectively your option a), right? That's a :-1: from me. Since this is a security-related setting, it should be the user's decision to relax any limits.
We might want to introduce a setter for a more targeted approach - your option b) - instead of requiring to set the limit globally. But that's just a convenience feature, isn't it?
But that's just a convenience feature, isn't it?
It's definitely convenient, but not only that: it also make the restrictions of XmlDecoder
more overt to users so that they may circumvent this restriction even before they ran one such big ETL erroring.
Okay, no objection to making this limit more discoverable.
Got:
when analyzing Alma Basedump in a single process.