After running the current machine for almost two and a half years now I decided it was time for an operating system update and some cleanups, including a fresh OSM data re-import. While I was on it I also switched from Ubuntu to Debain, as I had already done for my development / test VMs for a while now.
The migration is mostly complete now, things currently still missing are:
* The local Weblate translation instance is not back yet. I’m not sure what the actual problem is here and need to read myself into the topic once more, this may take another week or two.
* The OpenArdenneStyle and some of the OpenOrienteeringMap styles are still disabled for now due to problems, these should be back by the end of the week latest
* Some of the images in this blog got lost (I would like to blame WordPress, but have to confess that it was completely my fault after all)
If you find any other problem that I may not be aware of yet please do not hesitate to get in touch with me via hartmut@get-map.org
Category: osm
Renderer stalls – solved?
There have been two incidents where rendering stopped for several hours this weekend (see the yellow curve in the monitoring graph), and it could hardly happen at a worse time, wit me traveling and attending FOSDEM in Brussels.
I hope to have identified the root cause so that it should not happen again, and even if it does I’d get aware of it earlier, now that I’m back at home again …
Evil hack of the week: Speeding up locale-gen
The locale-gen
script can take some time, especially when trying to generate all supported locales.
Part of the problem is that it only runs the actual localedef
tool for one locale at a time, so utilizing only one CPU core at a time.
Continue reading “Evil hack of the week: Speeding up locale-gen”
Upcoming: multiple alternative index types
So far only two types of indexes were supported: the classic street index with a fixed predefined set of additional points of interest added, and the custom map marker index only available via the alternative neighborhood POI frontend.
Soon it will be possible to choose from a variety of different indexes retrieved from the OSM database for different use cases, e.g. the first additional index being a healthcare index showing clinics, doctors, pharmacies etc.
Continue reading “Upcoming: multiple alternative index types”
Upcoming: code cleanup
This will not really be visible, but after several years of just trying to keep this project alive and adding some new stuff here and there it’s now become overdue to show the code base some more love and do an overall cleanup.
I’m aiming for:
- improving the comment situation in general
- making sure all functions and methods have proper docstrings
- converting existing docstrings to NumPi format
- removing dead / unused code
- replacing the old test code with proper unit and integration tests
Starting with the OCitysMap code, and then the Django web frontend and API code later.
This code base has gone through a few hands, and I never really was a “Python Guy”, only really having learned Python “on the go”, so lots of this cleanup will actually be about improving code added by my earlier self when I was in sort of a “Python Brogrammer” state and didn’t know better yet.
See also https://github.com/hholzgra/ocitysmap/issues/69 for progress on this.
Hopefully this will make future feature additions more easy, and maybe also attract more outside code contributions ….
Upcoming: mutiple render queues
I’m currently testing an implementation of multiple render queues, to be rolled out to the public production server, soon.
Neighborhood map improvements
I finally managed to show the neighborhood map web front end some love to add a few long overdue improvements:
- Basic gettext() localization support was added to allow for multiple front end languages
- Points of interest can now be added to groups using an extra [+] button
\o/ 200K maps rendered \o/
New server coming up
After the recent server failure, and the restore problems involved with this, I decided to upgrade to new server with some extra RAM and SSD space.
This took a bit longer to be provided due to some CPU shortages, but I now have access to the machine and have started to set it up. I hope to have it ready for testing by tomorrow, and it should be ready to fully take over on the next weekend.
The key figures are that the new machine has 128GB instead of 64GB, and 7TB of SSD space instead of the previous 2TB SSD plus 3TB HDD.
The extra RAM should help with the “out of memory” errors during rendering which happen every once in a while with large map areas.
The extra SSD space now allows to have the full database on fast storage, and has enough headroom for adding a few imposm based stiles, which was not possible so far.
Outage and new server
After a recent outage I had to restore the server from a backup. While it is mostly running again, some minor services as e.g. the translation backend, are still missing.
As I was planning to switch to a new server soon anyway I did not bother to look into all the minor things as of yet after having main services restored.
The new server should be available any day now, and I will take my time setting it up properly in parallel to the current server still running, also improving tthe setup, and especially the backup/restore plan wile I’m on it.
The new server should be ready for prime time in a week or two from now, with more RAM and more NVMe SSD disk space available.