|CPU utilization before and after the last release.|
In the last post, I spoke a bit about optimization and utilization. The graphic at the top of this post shows CPU utilization before and after the last release went out to production. As you can see, the difference is stark!
(For those interested, the tl;dr version is this: those CPU utilization spikes happen when the world daemon refreshes old data in the warehouse. Before the last release, which included critical fixes for averaging queries and added indexes to the main MongoDB collections, the world daemon was using 100% of the CPU whenever it ran!)
At any rate, there is, once again, almost nothing user-facing in this release except for one critical bug fix: creating a new survivor with an avatar no longer fails.
3.85.1643 will probably be the last release for a while, but I expect to have a major announcement before the end of the month, so watch this space!
Fixes and Corrections
- Addressed the utilization/optimization issue causing the world module's high-yield averaging operations to fail.
- Fixed an issue with new survivor creation where attaching an avatar caused creation to fail.
- Migrated the rest of the open issues in the KDM-Manager project to either the API or the next-gen project (as appropriate).
- Removed some of the noisier debugging lines from the world module. We're getting to a stabler version of that module at this point.
- The world modules abandoned_settlements() query no longer includes removed (waiting to be purged) settlements.
- Added a bunch of doc strings to the app.world.__init__ module's query methods. Also cleaned up the module w/r/t line-breaks and other pyline/pep8 stuff.
- Created a new get_surname() method for the Survivor object.