Re: [mapserver-users] Mapcache time dimension default value; and 'tearing down pooled connection' message

2022-01-20 Thread jbo-...@mailo.com

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:

 time="true" unit="ISO8601">

 
 host=mapserver-db user=$PGSQ_USERNAME 
password=$PGSQ_PASSWORD dbname=mapserver port=5432

 
 SELECT to_char(time, 
'-MM-DD"T"HH24:MI:SS"Z"') FROM products where product_name='product>' order by Id

 
 SELECT 
to_char(time,'-MM-DD"T"HH24:MI:SS"Z"') FROM products

 WHERE time >= to_timestamp(:start_timestamp)
 AND time <= to_timestamp(:end_timestamp)
 AND product_name=''
 ORDER BY time DESC
 
 

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__time) to make room, referer: 


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.


 
 2000
12000
 

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@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users

___
MapServer-users mailing list
MapServer-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users




___
MapServer-users mailing list
MapServer-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] Mapcache time dimension default value; and 'tearing down pooled connection' message

2022-01-17 Thread David Hoese

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:

     time="true" unit="ISO8601">

     
     host=mapserver-db user=$PGSQ_USERNAME 
password=$PGSQ_PASSWORD dbname=mapserver port=5432

     
     SELECT to_char(time, 
'-MM-DD"T"HH24:MI:SS"Z"') FROM products where product_name='product>' order by Id

     
     SELECT to_char(time,'-MM-DD"T"HH24:MI:SS"Z"') 
FROM products

     WHERE time >= to_timestamp(:start_timestamp)
     AND time <= to_timestamp(:end_timestamp)
     AND product_name=''
     ORDER BY time DESC
     
     

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_product>_time) to make room, referer: 


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.


     
     2000
     12000
     

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@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users

___
MapServer-users mailing list
MapServer-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Mapcache time dimension default value; and 'tearing down pooled connection' message

2022-01-17 Thread Trygve Aspenes

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:

time="true" unit="ISO8601">


host=mapserver-db user=$PGSQ_USERNAME 
password=$PGSQ_PASSWORD dbname=mapserver port=5432


SELECT to_char(time, 
'-MM-DD"T"HH24:MI:SS"Z"') FROM products where product_name='product>' order by Id


SELECT to_char(time,'-MM-DD"T"HH24:MI:SS"Z"') 
FROM products

WHERE time >= to_timestamp(:start_timestamp)
AND time <= to_timestamp(:end_timestamp)
AND product_name=''
ORDER BY time DESC



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_product>_time) to make room, referer: 


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.



2000
12000


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@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users