WFS GetFeature with BBOX Filter on FeatureType with no geometry

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

WFS GetFeature with BBOX Filter on FeatureType with no geometry

Heikkilä Janne (MML)

Hello list,

 

Running a GetFeature request with a BBOX filter on a FeatureType that doesn’t have a geometry creates troubles.

deegree ends up looping through the whole Database table before returning with an empty response. This isn’t good since it basically locks down a single core for the duration of the process (could be minutes depending on size of the table).

 

I’ll report this as an issue to the issue tracker if someone verifies they can recreate this issue.

Testing should be fairly simple if you’re serving a FeatureType that doesn’t have geometry (e.g. INSPIRE cp:BasicPropertyUnit)

-          Send a GetFeature request with no BBOX restriction and maxFeatures/count=1

o   This should return ~instantly because of the count=1

-          Send another one does have a BBOX restriction (size or location shouldn’t matter) and the same maxFeatures/count limitation as previously

o   This should take minutes if you have millions of rows in the table in question

 

I’ve added a custom Filter in front of deegree that modifies the queryString before passing it further in the filterChain. It removes the BBOX key-value-pair from the queryString if the value of typename(s) is found within a predefined set of typenames.

Now this isn’t really a solution, but it blocks this specific case (for GET/KVP encoded requests).

 

br, Janne


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
deegree-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/deegree-users
Reply | Threaded
Open this post in threaded view
|

Re: WFS GetFeature with BBOX Filter on FeatureType with no geometry

tfriebe

Dear Janne,

can you please post the version of deegree and add a comment to issue #664 [1]?

Kind regards,

Torsten

[1] https://github.com/deegree/deegree3/issues/664


Am 21.07.16 um 14:25 schrieb Heikkilä Janne (MML):

Hello list,

 

Running a GetFeature request with a BBOX filter on a FeatureType that doesn’t have a geometry creates troubles.

deegree ends up looping through the whole Database table before returning with an empty response. This isn’t good since it basically locks down a single core for the duration of the process (could be minutes depending on size of the table).

 

I’ll report this as an issue to the issue tracker if someone verifies they can recreate this issue.

Testing should be fairly simple if you’re serving a FeatureType that doesn’t have geometry (e.g. INSPIRE cp:BasicPropertyUnit)

-          Send a GetFeature request with no BBOX restriction and maxFeatures/count=1

o   This should return ~instantly because of the count=1

-          Send another one does have a BBOX restriction (size or location shouldn’t matter) and the same maxFeatures/count limitation as previously

o   This should take minutes if you have millions of rows in the table in question

 

I’ve added a custom Filter in front of deegree that modifies the queryString before passing it further in the filterChain. It removes the BBOX key-value-pair from the queryString if the value of typename(s) is found within a predefined set of typenames.

Now this isn’t really a solution, but it blocks this specific case (for GET/KVP encoded requests).

 

br, Janne



------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev


_______________________________________________
deegree-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/deegree-users

-- 
l a t / l o n  GmbH
Aennchenstrasse 19                 53177 Bonn, Germany
phone ++49 +228 18496-0            fax ++49 +228 18496-29
http://www.lat-lon.de              http://www.deegree.org

lat/lon gesellschaft für raumbezogene informationssysteme mbH
Registergericht: Amtsgericht Bonn, HRB 13042
Geschäftsführer: Jens Fitzke und Torsten Friebe

------------------------------------------------------------------------------

_______________________________________________
deegree-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/deegree-users
Reply | Threaded
Open this post in threaded view
|

Re: WFS GetFeature with BBOX Filter on FeatureType with no geometry

Heikkilä Janne (MML)

Hello Torsten,

 

deegree version 3.3.20

 

I don’t think this is the same issue as https://github.com/deegree/deegree3/issues/664

 

I’m not sure I made myself clear. Here’s the issue with examples:

 

http://wfs.myhost.com/deegree/services/ad?service=WFS&version=2.0.0&request=GetFeature&count=1&typenames=ad:Address&bbox=0,0,1,1&srsName=EPSG:4326

- Uses PostGIS geometry index, returns an empty FeatureCollection ~immediately

- Good

 

http://wfs.myhost.com/deegree/services/ad?service=WFS&version=2.0.0&request=GetFeature&count=1&typenames=ad:ThoroughfareName&bbox=0,0,1,1&srsName=EPSG:4326

- Resorts to in-memory filtering, loops through whole table, 100% cpu usage on a single core for 2-3minutes, ~3million rows on the specific table

- Bad

 

Janne

 

Lähettäjä: Torsten Friebe [mailto:[hidden email]]
Lähetetty: 14. syyskuuta 2016 17:13
Vastaanottaja: [hidden email]
Aihe: Re: [deegree-users] WFS GetFeature with BBOX Filter on FeatureType with no geometry

 

Dear Janne,

can you please post the version of deegree and add a comment to issue #664 [1]?

Kind regards,

Torsten

[1] https://github.com/deegree/deegree3/issues/664

 

Am 21.07.16 um 14:25 schrieb Heikkilä Janne (MML):

Hello list,

 

Running a GetFeature request with a BBOX filter on a FeatureType that doesn’t have a geometry creates troubles.

deegree ends up looping through the whole Database table before returning with an empty response. This isn’t good since it basically locks down a single core for the duration of the process (could be minutes depending on size of the table).

 

I’ll report this as an issue to the issue tracker if someone verifies they can recreate this issue.

Testing should be fairly simple if you’re serving a FeatureType that doesn’t have geometry (e.g. INSPIRE cp:BasicPropertyUnit)

-          Send a GetFeature request with no BBOX restriction and maxFeatures/count=1

o   This should return ~instantly because of the count=1

-          Send another one does have a BBOX restriction (size or location shouldn’t matter) and the same maxFeatures/count limitation as previously

o   This should take minutes if you have millions of rows in the table in question

 

I’ve added a custom Filter in front of deegree that modifies the queryString before passing it further in the filterChain. It removes the BBOX key-value-pair from the queryString if the value of typename(s) is found within a predefined set of typenames.

Now this isn’t really a solution, but it blocks this specific case (for GET/KVP encoded requests).

 

br, Janne




------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev




_______________________________________________
deegree-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/deegree-users



-- 
l a t / l o n  GmbH
Aennchenstrasse 19                 53177 Bonn, Germany
phone ++49 +228 18496-0            fax ++49 +228 18496-29
http://www.lat-lon.de              http://www.deegree.org
 
lat/lon gesellschaft für raumbezogene informationssysteme mbH
Registergericht: Amtsgericht Bonn, HRB 13042
Geschäftsführer: Jens Fitzke und Torsten Friebe

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
deegree-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/deegree-users