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 ….

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.

Downtime notice for new DB import

Database bloat has again taken its toll again, and I’m running out of SSD disk space for the main databases soon.

So I’m going to take the server down over the next weekend, staring late Friday Feb 20th, around 20:00UTC. Assuming that everything goes well everything should be back up and running on Sunday afternoon.

Continue reading “Downtime notice for new DB import”

Import lag

The database is currently lagging behind, it is catching up now, but will take a few more days to be fully up to date again.

Problem was that I had temporarily stopped minutely diff import for some maintenance about three weeks ago, and then forgot to turn them on again.

Problem #2 was that my monitoring only checked for failed diff imports, but not for them not running at all.