[Geoserver-users] GWC time parameter case & format sensitivity yields different directory names in cache

Hitting up the list again … new geoserver guy with another complicated question …

Geoserver 2.3.3.

I have noticed that the embedded geowebcache in geoserver populates differently based on the case of the “time” parameter and the format of the time string.

The case of the “time” parameter causes a cache population naming difference only when using the gwc restful interface to pre-seed the cache. The difference in names for the format of the time string happens when letting the cache dynamically populate or pre-seeding it via rest.

Clarifying:

If I name the time parameter either “time” or “TIME” in a gwc request, the underlying cache directory is named the same.

If I name the time parameter either “time” or “TIME” in a seed request via rest, the underlying cache directories are named differently from each other. Two different directories are created depending on the case used in the rest request.

For both the gwc request and the seed request via rest, if I use “.000” in my formatted time string, the underlying cache directories are named differently than if I omit the “.000”.

Shouldn’t all of these be consistent? The WMS specs say the time parameter should be case-insensitive. Also, a time with or without .000 ms is the same time. This causes trouble when a client request is made with “time” but you have pre-seeded with “TIME”. Similar for omitting .000 or not from the time string.

If this should not be consistent for some reason, which combination of “time” case and time format is correct?

Examples:

When accessing gwc cache via gmaps tile service:

&time=2013-08-21T20:00:00Z
EPSG_900913_06_9820daea5f2aac28ae1c5ba153f6b0ed371ba30a/

&TIME=2013-08-21T20:00:00Z
EPSG_900913_06_9820daea5f2aac28ae1c5ba153f6b0ed371ba30a/

&time=2013-08-21T20:00:00.000Z
EPSG_900913_06_5dd60ff52918e6e138e2d555a45dbac33dce3c90/

&TIME=2013-08-21T20:00:00.000Z
EPSG_900913_06_5dd60ff52918e6e138e2d555a45dbac33dce3c90/

When pre-seeding the cache via gwc rest requests:

time 2013-08-21T20:00:00Z EPSG_900913_05_bb13749a6e82cb63a4a6de20c8c0e333bf57a778/ TIME 2013-08-21T20:00:00Z EPSG_900913_05_9820daea5f2aac28ae1c5ba153f6b0ed371ba30a/ time 2013-08-21T20:00:00.000Z EPSG_900913_05_2845d2c142eb6e20e6d22277bb384d3ecdb308f6/ TIME 2013-08-21T20:00:00.000Z EPSG_900913_05_5dd60ff52918e6e138e2d555a45dbac33dce3c90/

Thanks,

Mike Grogan

On Wed, Aug 21, 2013 at 8:29 PM, Mike Grogan <d.michael.grogan@anonymised.com>wrote:

Hitting up the list again ... new geoserver guy with another complicated
question ...

Geoserver 2.3.3.

I have noticed that the embedded geowebcache in geoserver populates
differently based on the case of the "time" parameter and the format of the
time string.

The case of the "time" parameter causes a cache population naming
difference only when using the gwc restful interface to pre-seed the cache.
The difference in names for the format of the time string happens when
letting the cache dynamically populate or pre-seeding it via rest.

Clarifying:

If I name the time parameter either "time" or "TIME" in a gwc request, the
underlying cache directory is named the same.

If I name the time parameter either "time" or "TIME" in a seed request via
rest, the underlying cache directories are named differently from each
other. Two different directories are created depending on the case used in
the rest request.

Ok, this is an issue with GWC then, it should be solved there (GeoServer
imports GWC as a dependency and integrates it, but the REST api is native
to GWC).

For both the gwc request and the seed request via rest, if I use ".000" in
my formatted time string, the underlying cache directories are named
differently than if I omit the ".000".

Shouldn't all of these be consistent? The WMS specs say the time
parameter should be case-insensitive. Also, a time with or without .000 ms
is the same time. This causes trouble when a client request is made with
"time" but you have pre-seeded with "TIME". Similar for omitting .000 or
not from the time string.

If this should not be consistent for some reason, which combination of
"time" case and time format is correct?

GWC knows nothing about parameters, so any change in their formatting will
result in a change of the directory, even if the result is the same.
The same will happen if one uses elevation=10 or elevation=10.0, as GWC
does not know what elevation is to start with.

I guess the GeoServer could normalize their value knowing about their
nature. Not a super-complicated change, not a trivial one either,
you can open an improvement request if you want. Once that is done, the
next step is find someone to either code the changes, or sponsor them.

Cheers
Andrea

--

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more
information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

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