[ka-Map-dev] modification to tile cache structure

Morgan Pyne morgan.pyne at gmail.com
Tue Oct 24 00:32:00 EDT 2006


Magic, thx! Will apply due caution as advised.

Cheers,
Morgan


On 24/10/2006, at 4:04 PM, Paul Spencer wrote:

> This comes with absolutely no warranty at all ... if it erases  
> everything on your root drive, and emails itself to everyone you  
> know ... you've been warned ;)
>
> Seriously though, use with caution ... we wrote this up to fix up  
> some of our caches and it may not be exactly right for a stock ka-Map.
>
> You would run it using:
>
> ./update_cache_dirs.sh /tmp/kacache
>
> Also note that I have not yet updated tile.php in cvs, but the  
> change is trivial if you want to try it:
>
> 135c135
> < $szMetaTileId = "t".$metaTop."l".$metaLeft;
> ---
> > $szMetaTileId = "t".$metaTop."/l".$metaLeft;
>
>
> Cheers
>
> Paul
>
> #! /bin/sh
> # save as update_cache_dirs.sh
>
> ## This function echos its argument and exits
> fatal_error ()
> {
>     echo >&2
>     [ -n "$1" ] && echo "! $1" >&2
>     echo >&2
>     exit 1
> }
>
> ## Perform update operation on a directory
> update_dir()
> {
>     DIRNAME=`dirname $1`
>     BASENAME=`basename $1`
>
>     TOP=`echo "$BASENAME" | cut -dl -f1`
>     LEFT=l`echo "$BASENAME" | cut -dl -f2`
>
>     #echo "dir=$DIRNAME   metatile=$BASENAME   TOP=$TOP  LEFT=$LEFT"
>
>     [ -d $DIRNAME/$TOP ] || mkdir -p $DIRNAME/$TOP
>
>     echo "mv $DIRNAME/$BASENAME $DIRNAME/$TOP/$LEFT"
>     mv $DIRNAME/$BASENAME $DIRNAME/$TOP/$LEFT
> }
>
> CACHEDIR=$1
>
> [ -z "$CACHEDIR" ] && fatal_error "cachedir arg missing. Usage: $0  
> <cachedir>"
>
> ##
> ## If called with 1st arg = processdir then call update_dir() with  
> arg2
> ##
> if [ $CACHEDIR = processdir ] && [ -n $2 ]; then
>     update_dir $2
>     exit 0
> fi
>
>
> ##
> ## Otherwise default behavior is to look for all metatile dirs and  
> process them
> ##
> find $CACHEDIR -name "t*l*" -mindepth 5 -maxdepth 5 -type d -exec  
> $0 processdir {} \;
>
>
>
> On 23-Oct-06, at 10:19 PM, Morgan Pyne wrote:
>
>> Hi Paul (and others!)
>>
>> I would definitely welcome the change, as we have already reached  
>> the limits of an ext3 filesystem (~32768 subdirs) on a number of  
>> occasions. While we could solve this by moving to some other  
>> filesystem, I think that adding the extra depth is a good thing  
>> anyway -  ext3 is a common default filesystem for many Linux distros.
>>
>> I was wondering however if it might be possible to migrate a cache  
>> to the new structure rather than completely invalidate it?  I'm  
>> sure I'm not the only one who would prefer to be able to keep my  
>> cache if possible - precaching again would take considerable time.  
>> If the change only involves adding a slash between the top and  
>> left values in the path then I'm guessing the cache migration  
>> could be a one-liner for a good Perl monger.
>>
>> Another thing to consider might be to make this new cache  
>> structure optional, and default to the old one.
>>
>> Thanks (for _all_ the good work on ka-map!),
>> Morgan
>>
>>
>> On 24/10/2006, at 1:33 PM, Paul Spencer wrote:
>>
>>> Devs (and others)
>>>
>>> Before we release 1.0, I'd like to change the tile caching  
>>> structure to include an extra level of directories by inserting  
>>> a / between the top and left values in the meta-tile directory.
>>>
>>> The change is trivial and safe, but it invalidates an existing  
>>> cache (well, makes it useless)
>>>
>>> What do you think of this change?
>>>
>>> Cheers
>>>
>>> Paul
>>> +-----------------------------------------------------------------+
>>> |Paul Spencer                          pspencer at dmsolutions.ca    |
>>> +-----------------------------------------------------------------+
>>> |Chief Technology Officer                                         |
>>> |DM Solutions Group Inc                http://www.dmsolutions.ca/ |
>>> +-----------------------------------------------------------------+
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> ka-Map-dev mailing list
>>> ka-Map-dev at lists.maptools.org
>>> http://lists.maptools.org/mailman/listinfo/ka-map-dev
>>
>> _______________________________________________
>> ka-Map-dev mailing list
>> ka-Map-dev at lists.maptools.org
>> http://lists.maptools.org/mailman/listinfo/ka-map-dev
>
> +-----------------------------------------------------------------+
> |Paul Spencer                          pspencer at dmsolutions.ca    |
> +-----------------------------------------------------------------+
> |Chief Technology Officer                                         |
> |DM Solutions Group Inc                http://www.dmsolutions.ca/ |
> +-----------------------------------------------------------------+
>
>
>
>



More information about the ka-Map-dev mailing list