Davor,the XSLT is applied after the response has been encoded to XML. The size of the response will be affected by maxFeatures/count but not I think by the database fetch size. Pagination is applied at the WFS level with startIndex (WFS 2.0, supported in GeoServer WFS 1.1.0 as an extension).
The stack trace of the failing request will help us investigate the problem. Kind regards, Ben. On 20/12/17 22:59, Davor Racic wrote:
Hi Ben & Nuno, thank you for your suggestions. things seem a little bit clearer. We are testing INSPIRE download service, not an application, so we assume that someone can and should be able to download/transfer whole set of data (cca 130000 features). I suppose some sort of pagination should be done by Geoserver itself in background when data PG store is configured with some value set on "fetch size", and suppose that this XLST post-processing is done page by page after each fetch? In our case, that property was missing in app-schema store definition. We are testing this at the moment. Best regards Davor sri, 20. pro 2017. u 00:12 Ben Caradoc-Davies <b...@transient.nz> napisao je:Davor, GeoServer uses XSLT to post-process WFS responses (and halve the number of database queries). Do you have the other end of the stack trace so we can see the origin and confirm this as the cause? Try *reducing* your stack size to make the trace shorter. It looks like this failure might be caused by the Xalan XSLT embedded in the JVM standard library using Quicksort to sort an array of integers. Quicksort is a terrible algorithm because its worst-case performance is O(n**2): https://en.wikipedia.org/wiki/Quicksort Some Quicksort implementations can exhibit this behaviour when the input is already sorted, already reverse-sorted, or all inputs are the same (first two criteria combined). Recursive implementations will then use O(n**2) time and stack. Heapsort is often preferred because its worst-case performance is O(n log n): https://en.wikipedia.org/wiki/Heapsort Kind regards, Ben. On 20/12/17 03:41, Davor Racic wrote:I'm using Geoserver 2.11.dev and app-schema plugin. WFS max request limit is set to 1mil features. When serving large WFS 2.0 requests (over 100000 fetures) from app-schema store (PostGIS backend) requests fail witherror:19 pro 09:49:48 ERROR [geoserver.ows] - java.lang.StackOverflowError atcom.sun.org.apache.xalan.internal.xsltc.util.IntegerArray.quicksort(IntegerArray.java:162)atcom.sun.org.apache.xalan.internal.xsltc.util.IntegerArray.quicksort(IntegerArray.java:163)atcom.sun.org.apache.xalan.internal.xsltc.util.IntegerArray.quicksort(IntegerArray.java:163)atcom.sun.org.apache.xalan.internal.xsltc.util.IntegerArray.quicksort(IntegerArray.java:163)... Serving smaller set of features (<100000) doesn't cause any error. When I set maximum thread stack size for JAVA in JAVA_OPTS to -Xss4096K, errors disappear, but I'm still wondering why this setting is necessary. Anyidea?Can something like reprojection cause this? Best regards Davor------------------------------------------------------------------------------Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting tothis list:- Earning your support instead of buying it, but Ian Turton:http://www.ianturton.com/talks/foss4g.html#/- The GeoServer user list posting guidelines:http://geoserver.org/comm/userlist-guidelines.htmlIf you want to request a feature or an improvement, also see this:https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServerGeoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users-- Ben Caradoc-Davies <b...@transient.nz> Director Transient Software Limited <https://transient.nz/> New Zealand------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users
-- Ben Caradoc-Davies <b...@transient.nz> Director Transient Software Limited <https://transient.nz/> New Zealand ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users