Re: Regression with large XML data input
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>,
Erik Wienhold <ewie@ewie.name>
Date: 2025-07-24T03:28:38Z
Lists: pgsql-hackers
Michael Paquier <michael@paquier.xyz> writes: > A customer has reported a regression with the parsing of rather large > XML data, introduced by the set of backpatches done with f68d6aabb7e2 > & friends. Bleah. > Switching back to the previous code, where we rely on > xmlParseBalancedChunkMemory() fixes the issue. Yeah, just reverting these commits might be an acceptable answer, since the main point was to work around a bleeding-edge bug: >> * Early 2.13.x releases of libxml2 contain a bug that causes >> xmlParseBalancedChunkMemory to return the wrong status value in some >> cases. This breaks our regression tests. While that bug is now fixed >> upstream and will probably never be seen in any production-oriented >> distro, it is currently a problem on some more-bleeding-edge-friendly >> platforms. Presumably that problem is now gone, a year later. The other point about >> * xmlParseBalancedChunkMemory is considered to depend on libxml2's >> semi-deprecated SAX1 APIs, and will go away when and if they do. is still hypothetical I think. But we might want to keep this bit: >> While here, avoid allocating an xmlParserCtxt in DOCUMENT parse mode, >> since that code path is not going to use it. regards, tom lane
Commits
-
Remove unnecessary complication around xmlParseBalancedChunkMemory.
- 902f92221889 19 (unreleased) landed
- cdcdabce5b70 14.19 landed
- 0ae824704070 13.22 landed
- 0928e18eb85a 15.14 landed
- d5f014d897c8 18.0 landed
- 762c6d8d26e0 16.10 landed
- 7571e0f6e924 17.6 landed
-
Avoid regression in the size of XML input that we will accept.
- 6d5e493b4a15 16.10 landed
- 589d6e6408b4 13.22 landed
- 0ffbd345e43d 15.14 landed
- 0395464aff02 14.19 landed
- fd4ad33fe223 17.6 landed
- 71c0921b649d 19 (unreleased) landed
- 637ead2e1aa1 18.0 landed
-
Use xmlParseInNodeContext not xmlParseBalancedChunkMemory.
- 6082b3d5d3d1 18.0 cited
-
Revert "Add support for parsing of large XML data (>= 10MB)"
- f2743a7d70e7 17.0 cited