concurrency - Geoserver is unable to accept concurrent requests when processing files -


I'm trying to install Geoserver as a backend for our MVC app. Giorver works great ... except that I only have one thing to do one thing at a time. If I am processing a size file, the rest of the interface and the GUI are locked until the work is done processing.

I know that the cluster has the option of clustering a geographic configuration, but it will only be load balancing, so instead of just a reading / writing process, I will have two instead ... but we This requires that at least 20 concurrent tasks at one time raise it.

The context I talked about locking down the number of concurrent connections is seen on the Internet, but only 1 full time is allowed all of them.

Obviously GeoServer is used in production at the same time having more than one requesting environment I am just stumped about how it is happening.

A few weeks ago, my colleague sent this email to Geoserver Development Team, the problem was described as a configuration lock ... and the variable we can release it, the only place I saw This variable was in the source code on GitHub

Is there a way to specify Geoserver's configuration files to close these locks, so I read / write concurrently? If anyone has to face this before helping !!! Thanks!

Friday, May 16, 2014 at 7:34 pm, Shawn Winsted wrote:

Hi,

We're using Geosarver 2.5 RC2 When uploading a shape file via the REST API, the server does not respond to other requests until the size file is processed.

For example, if I upload a file and then click on the Layers menu item in the web app, the response file for the layers page is not uploaded until the processing is completed and the processing is completed.

I searched for this issue but did not get any reason / answer. I had set up control flow and a control flow in the data directory. The properties file was created, but it did not appear in any effect.

How do I diagnose the cause of this behavior?

Simple, this configuration is locked. Our configuration subsystem is not able to handle the right synchronous writing, or reads while writing, so a complete example is a read / write lock that is every time If you use the rest of the API and user interface, nothing can be done during lock in place

If you want, you can disable it by using the system variable GeoServerConfigurationLock.enabled Are, -DGe OServerConfigurationLock.enabled = true But of course we can not guess what will happen to the configuration if you do this.

Cheers Andrea

-DGeoServerConfigurationLock.enabled = true When looking at bin / startup.sh for GeoServer, and bin \ startup.bat The way it is approved to do is through an environment variable called JAVA_OPTS . You'll see rows such as

  if [-z "$ JAVA_OPTS"]; Then export JAVA_OPTS = "- XX: MaxPermSize = 128" fi  

in startup.sh and

  if "% JAVA_OPTS  startup.bat  in% "==" "(Set JAVA_OPTS = -XX: MaxPermSize = 128m)  

. You will need to do

... JAVA_OPTS = "- DGeoServerConfigurationLock.enabled = true -XX: MaxPermSize = 128"

Or define that < Code> JAVA_OPTS Environmental variables have started GeoServer similarly before starting.

The reaction of the development team " Surely we can not predict that if you do this then what will happen with the configuration", however, I am informed that the issues of concurrency Can be kept secret; Which may be more likely to go on the surface as you would on a large scale. You might want to think of disconnecting the backend processing of those shape files with REST requests using some line method instead of disabling GeoServer's configuration lock.


Comments

Popular posts from this blog

sqlite3 - UPDATE a table from the SELECT of another one -

c# - Showing a SelectedItem's Property -

javascript - Render HTML after each iteration in loop -