[MapProxy] Possible Bug in MapProxy with logrotate - apache reload

Johannes Weskamm weskamm at terrestris.de
Tue Feb 14 03:15:19 EST 2012


Hi List,

Im not sure if this is a bug with MapProxy, but i experience the 
following problem a few times:

I am running a seed on a debian system. While the seed is running, the 
default logrotate of debian reloads the apache to change the logfiles.
And here comes the problem: If a seed is running and apache is reloaded, 
i get the following error in MapProxy:

[06:37:04] 21  91.47% 1400091.67882, 6134530.13841, 1413779.27218, 
6141425.01693 (11331500 tiles) ETA: 2012-02-14-12:12:40
Process TileSeedWorker-1:o0o0o  ETA: 2012-02-14-12:12:4312:12:42
Traceback (most recent call last):
   File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in 
_bootstrap
     self.run()
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/seed/seeder.py", 
line 97, in run
     self.work_loop()
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/seed/seeder.py", 
line 109, in work_loop
     exceptions=(SourceError, IOError))
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/seed/util.py", line 
107, in exp_backoff
     result = func(*args, **kw)
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/cache/tile.py", line 
126, in load_tile_coords
     created_tiles = creator.create_tiles(uncached_tiles)
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/cache/tile.py", line 
227, in create_tiles
     created_tiles = self._create_meta_tiles(meta_tiles)
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/cache/tile.py", line 
297, in _create_meta_tiles
     created_tiles.extend(self._create_meta_tile(meta_tile))
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/cache/tile.py", line 
309, in _create_meta_tile
     tile_size, self.tile_mgr.image_opts)
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/cache/tile.py", line 
436, in split_meta_tiles
     splitter = TileSplitter(meta_tile, image_opts)
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/image/tile.py", line 
93, in __init__
     self.meta_img = meta_tile.as_image()
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/image/__init__.py", 
line 195, in as_image
     self._make_seekable_buf()
   File 
"/opt/mapproxy/lib/python2.7/site-packages/mapproxy/image/__init__.py", 
line 215, in _make_seekable_buf
     self._buf = StringIO(self._buf.read())
   File "/usr/lib/python2.7/socket.py", line 351, in read
     data = self._sock.recv(rbufsize)
   File "/usr/lib/python2.7/httplib.py", line 541, in read
     return self._read_chunked(amt)
   File "/usr/lib/python2.7/httplib.py", line 586, in _read_chunked
     raise IncompleteRead(''.join(value))
IncompleteRead: IncompleteRead(7015 bytes read)


MapProxy (1.2.1) stops and does not continue the seed.
I tried this manually and could replicate the problem. Doing a "apache 
reload" stops the seeding process, while a "apache restart" is no 
problem (MapProxy continues its work).
The quickfix i have done is to edit the /etc/logrotate.d/apache2
and change the line with "reload" to "restart".

If this is a bug in MapProxy, maybe it can be fixed in upcoming MapProxy 
versions?

Greetings,
Johannes




-- 

Dipl.-Geogr. Johannes Weskamm
— Anwendungsentwickler —

terrestris GmbH & Co. KG
Pützchens Chaussee 56
53227 Bonn

Tel:   +49 (0)228 / 96 28 99 -555
Fax:   +49 (0)228 / 96 28 99 -57

Email: weskamm at terrestris.de <mailto:weskamm at terrestris.de>
Web: http://www.terrestris.de

Amtsgericht Bonn, HRA 6835
Komplementärin: terrestris Verwaltungsgesellschaft mbH
vertreten durch: Hinrich Paulsen, Till Adams

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapproxy/attachments/20120214/d7c1860e/attachment.html


More information about the MapProxy mailing list