[mapserver-users] Mapcache time dimension default value; and 'tearing down pooled connection' message
jbo-ads at mailo.com
jbo-ads at mailo.com
Thu Jan 20 00:48:32 PST 2022
Hello,
Despite being one of "the mapcache devs", I have no answer to the second
question. This involves MapCache connection pool which uses APR pools
and which I am not familiar with:
https://github.com/MapServer/mapcache/blob/8b4d277df4f7951edd84e4fb8903dc544c3315a9/lib/connection_pool.c#L153
As for the first question, "d1" is not a magical value: this is just a
placeholder in the documentation for an actual default time value or
time interval.
https://mapserver.org/mapcache/dimensions.html?highlight=d1#configuring-a-time-dimension-using-an-explicit-back-end
Jerome
Le 18/01/2022 à 02:52, David Hoese a écrit :
> Trygve,
>
> Hello from outside the Pytroll community ;)
>
> I can't answer your second question as I don't have much experience
> with getCapabilities, but I think I have an answer for the first
> question. My understanding for the `default` parameter was that that
> was the returned time string if no times were returned by the query
> (empty result). I have always expected this to be a normal time string
> like 2022-01-01T12:00:00Z (to match your expected format. However, the
> fact that you always get the oldest image when the default is "d1" is
> surprising to me so I hope the mapcache devs can correct me.
>
> As for the source code for this, I found that the default from the XML
> goes into a dimension object as "default_value". It then gets set as
> the default "requested_value" like here:
>
> https://github.com/MapServer/mapcache/blob/447c0c6848fd101c11e6d54e451037e571117ef1/lib/tileset.c#L585
>
>
> Going down the rabbit hole led me to here:
>
> https://github.com/MapServer/mapcache/blob/447c0c6848fd101c11e6d54e451037e571117ef1/lib/dimension_pg.c#L265-L271
>
>
> As far as I can tell "get_values_for_entry_query" is just the
> "validate_query" query from your XML config. So somehow your validate
> query with "dp1" input may be returning the oldest time in your
> database. Just a guess. I'm interested in this answer, but definitely
> not the best person to give it to you.
>
> Dave
>
> On 1/17/22 11:59, Trygve Aspenes wrote:
>> Hi there!
>>
>> Slowly I'm getting mapserver/mapcache up running and looks now how to
>> improve things.
>>
>> First: When I load a mapcache tileset with time dimension from a pg
>> db the oldest image is displayed in my client. Is it possible to
>> somehow get the newest image as default?
>> My tileset dimension look something like this:
>>
>> <dimension type="postgresql" name="time" default="d1"
>> time="true" unit="ISO8601">
>> <connection>
>> host=mapserver-db user=$PGSQ_USERNAME
>> password=$PGSQ_PASSWORD dbname=mapserver port=5432
>> </connection>
>> <list_query>SELECT to_char(time,
>> 'YYYY-MM-DD"T"HH24:MI:SS"Z"') FROM products where product_name='<some
>> product>' order by Id</list_query>
>> <validate_query>
>> SELECT
>> to_char(time,'YYYY-MM-DD"T"HH24:MI:SS"Z"') FROM products
>> WHERE time >= to_timestamp(:start_timestamp)
>> AND time <= to_timestamp(:end_timestamp)
>> AND product_name='<some product>'
>> ORDER BY time DESC
>> </validate_query>
>> </dimension>
>>
>> I saw the `d1` default value in the documentation, but don't
>> understand of that is a dummy or an actual selector. I have grepped
>> around the source code, but could not see anything obvious.
>>
>> Second: My client updates/fetch the getCapabilities of my mapcache
>> server every minute. Each time this is fetched the mapcache log is
>> filled with messages like:
>>
>> mod_mapcache.c(164): [client ] tearing down pooled connection
>> (dim_<some product>_time) to make room, referer: <my client>
>>
>> I dont understand why these connections is teared down every time
>> getCapabilites is requested.
>>
>> I have looked in the documentation, but could not see how to control
>> this. But in the mapcache.xml.sample the connection pool config is
>> described. But adding this to my mapcache config does not remove
>> these tear downs.
>>
>> <connection_pool>
>> <max_connections>2000</max_connections>
>> <time_to_live_us>120000000</time_to_live_us>
>> </connection_pool>
>>
>> Any suggestions why this connection tear down is happening and if
>> there is something to do about it. It slows down the getCapabilities
>> request a bit, but if I add to many tileset I guess this will even
>> further slow down.
>>
>> Thanks
>>
>> Trygve Aspenes
>> _______________________________________________
>> MapServer-users mailing list
>> MapServer-users at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/mapserver-users
> _______________________________________________
> MapServer-users mailing list
> MapServer-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapserver-users
More information about the MapServer-users
mailing list