Howdy:
I am new to the GeoServer and GeoTools code base but have noticed something fishy while playing with the WFS DataStore and cascading WFS requests.
While fulfilling a request that requires a call out to a second WFS, GeoServer executes over two threads. The "main" thread, which responds to the original request, launches a second thread (WFSFeatureReader extends FCBuffer). Roughly, WFSFeatureReader is used to connect to the second WFS, forward the query and populate a fixed-size queue (via FCBuffer.addFeature) as results come in. Simultaneously, the "main" thread reads from that queue (via FCBuffer.next), and sends the results to the client.
It looks to me like the classic producer/consumer model, except I don't see anything protecting the critical sections of FCBuffer.next() or FCBuffer.addFeature(). Is there some subtlety I'm missing or should I file a bug? Against GeoServer or GeoTools?
I am using geoserver-1.3.1beta and geoserver-1.3.0-wfs-ext.
Cheers,
Ryan
I haven't fully tested the Cascading WFS datastore, but it sounds like it could be a problem. If it can be produced, then I would say file it as a bug. But if it is hard to produce, and you are pretty sure that there is a problem, file it as a 'improvement' to be looked at. Just so we don't forget about it.
Thanks for pointing it out Ryan,
Brent Owens
(The Open Planning Project)
Ryan Hofschneider wrote:
Howdy:
I am new to the GeoServer and GeoTools code base but have noticed something fishy while playing with the WFS DataStore and cascading WFS requests.
While fulfilling a request that requires a call out to a second WFS, GeoServer executes over two threads. The "main" thread, which responds to the original request, launches a second thread (WFSFeatureReader extends FCBuffer). Roughly, WFSFeatureReader is used to connect to the second WFS, forward the query and populate a fixed-size queue (via FCBuffer.addFeature) as results come in. Simultaneously, the "main" thread reads from that queue (via FCBuffer.next), and sends the results to the client.
It looks to me like the classic producer/consumer model, except I don't see anything protecting the critical sections of FCBuffer.next() or FCBuffer.addFeature(). Is there some subtlety I'm missing or should I file a bug? Against GeoServer or GeoTools?
I am using geoserver-1.3.1beta and geoserver-1.3.0-wfs-ext.
Cheers,
Ryan
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel