WFS 1.1.0 GML3 schema cache doesn't work well with virtual services

Description

In WFS 1.1.0 a global GML3 based schema is build and cached the first time we need to encode something in GML3. The build schema will use all the available feature types in the catalog and will be updated only when certain changes happen in the catalog.

The main issue with this solution is that if the first request that requires a GML3 encoding limits the scope of the catalog (e.g. virtual services) the build and cached schema will only support those types. Consequences of this issue have already been reported:

To fix this issue we could follow the same approach used in WFS 2.0.0, were we don't cache a global schema but instead we build a specific schema for each request using only the necessary feature types.

The performance penalty should be negligible, but in any case the performance penalty needs to be measured and special attention should also be pay to the memory usage (possible memory leaks due to the dynamic schemas).

Environment

None

Status

Assignee

Nuno Oliveira

Reporter

Nuno Oliveira

Triage

None

Fix versions

Affects versions

None

Components

Priority

Medium
Configure