[Tilesathome] MaxTilesetComplexity (was: Read timeouts on upload)
Ed Loach
ed at loach.me.uk
Wed Sep 24 11:18:06 BST 2008
I quoted Rob:
> > If you get these often you could consider configuring the
> > MaxTilesetComplexity setting to avoid the more complex
> > requests.
And added:
> I'm having problems with trying to set
> the MaxTilesetComplexity setting. Three or four times now, both
> with and without the client running, I have changed the 0 to
> 20000000 in
> the .conf file, but when I check later it seems to have reset
> to 0.
> I'm sure I'm doing something stupid, but how can I persuade the
> 20000000 value to stay there?
And was surprised not to get an instant reply. So I've had a look
into the Perl code (though don't really understand the syntax).
As far as I can tell, the setting in tilesathome.conf should be used
in place of the one in config.defaults, based on my guess at how
this line of code in tahconf.pm getconfig works:
$Config->file("config.defaults", "layers.conf",
"tilesAtHome.conf", "authentication.conf");
As a test I set the value in config.defaults to 20000000 (and later
reverted to the version in svn) and the value in tilesathome.conf to
30000000. Clicking start (Windows client) and the
MaxTilesetComplexity was reset to 0 in tilesathome.conf
I then tried changing it in tilesathome.conf.windows from 0 to
20000000 and when I started the windows client that time it
overwrote 0 with 20000000 in .conf, but tilesathome.conf.windows is
one of those files that shouldn't be amended according to the
comment lines, so I've reverted back to the svn version again.
It looks to me like start_tah in tah.pl (Windows GUI client) reads
tilesathome.conf.windows, writing it out again as tilesathome.conf,
although I don't quite see why it overwrites this setting and not
all the paths ones, but suspect that might be because I don't
understand the =~ syntax.
Anyway, it looks like currently users of the Windows client can't
set MaxTilesetComplexity to anything other than the value that is in
tilesathome.conf.windows, so I'll have to live with the rare GC
errors (or work out the =~ syntax and see if I can make the setting
user configurable).
And then I tried to work out where the setting is used, and can't
seem to find it used anywhere, but suspect there may be a library in
some subfolder I didn't think to check. Before I go to the hassle of
trying to learn Perl syntax can someone who knows what they're doing
confirm that the setting is actually still used somewhere, please,
and let me know?
Ed
PS: For those of you not using the Windows client, this is start_tah
from tah.pl that I think might be my problem.
$tahconfigurationfileex is the .conf.windows file
$tahconfigurationfile is the .conf file
sub start_tah {
&configure_proxy;
&configure_authentication;
open(F,"<$tahconfigurationfileex");
my @rows=<F>;
s/[\r\n]+//g foreach(@rows);
close(F);
open(F,">$tahconfigurationfile");
my $configstr = "";
foreach (@rows) {
$configstr = $_;
$configstr =~ s/\\subversion/\\svn\\bin/;
$configstr =~ s/c:\\program files/$dircur/;
$configstr =~ s/c:\\temp/$dircur\\tmp/;
$configstr =~ s/zip.exe/7za.exe/;
$configstr =~ s/7zipWin=0/7zipWin=1/;
$configstr =~ s/\# InkscapeLocale =
german/InkscapeLocale = german/ if ($DecimalSeparator !~ /\./);
#print "$configstr\n";
print F "$configstr\n";
}
close(F);
$main->TAHB1->Enable(0);
$main->TAHB2->Enable(0);
$main->TAHB3->Enable(1);
unlink "$dirtah/stopfile.txt";
threads->new(\&thread_tah);
}
More information about the Tilesathome
mailing list