How to Increase the Spatial Operation Limit

Some spatial operations can take a very long time to execute and if the user creates a large selection and attempts to perform one of those operations against the selection this could result in high CPU usage for an extended period while the operation is performed. Usually, the browser has timed out before the operation completes and, making matters worse, the user may re-try the operation causing even more load to be placed on the server.

To try and mitigate this risk, Weave implements a limit on the number of entities that can be selected before one of these operations is performed. The default for this limit is 200 but can be changed by setting a system property named weave.spatial.operation.limit to the new limit, or 0 to disable it.

Instructions

  1. Edit ...\weave\service\conf\wrapper.conf and add an additional system property
    1. Locate the last additional property in the file (they are usually defined at the end of the file)
      1. The "additional properties" are those listed in the form wrapper.java.additional.## = ...
    2. Find the number of the last set additional property, and increase it by one
    3. Create a new additional property (with the new incremented property number) and set the value to -Dweave.spatial.operation.limit=###
      1. Where ### is the new value you want to use for the limit (or 0)
  2. If you use startup.cmd or startup.sh to start Weave then you need to do the same thing for those files but the way the properties are set is different
    1. For those files the JAVA_OPTS variable must be updated.
    2. There are a number of existing properties in those files that should make it clear how to add an additional property. Follow the same set out as those existing properties for this new property. 


Example wrapper.conf line Assuming previous additional property was number 21 and 500 is the new limit.

wrapper.java.additional.22 = -Dweave.spatial.operation.limit=500

Example for startup.cmd

SET JAVA_OPTS=%JAVA_OPTS% -Dweave.spatial.operation.limit=500

Example for startup.sh

JAVA_OPTS="$JAVA_OPTS -Dweave.spatial.operation.limit=500"