MidCOM 2.4. release delayed
The MidCOM 2.4 release, scheduled for the next weeks, will be delayed. Reasons are the performance problems of the reworked NAP/Metadata subsystem. MidCOM Core will stay in feature freeze nevertheless, the only change that will be made is the introduction of a caching engine for NAP information, which is rather query intensive.
Due to the limited query facilities of Midgard, the MidCOM NAP code grew quite slow during the last enhancements added during the development of 2.4. Main reason for this is that now every object has to be loaded from the database at least once from NAP, as it creates the metadata object and verifies visibility of the object. While this object is reused in NAP, it is not possible to "transfer" the object to other HTTP requests.
This leads to extremly high database traffic, which is the main reason for the current speed problems. Optimization of the database queries is not yet possible, and will have to wait until the Midgard Query Builder reaches maturity.
Until then (and perhaps even then) I will introduce a cache database for NAP which will speed up allmost all read-accesses to the information related to the NAP tree. The cache data will be created on demand, and invalidated as selectivly as possible, with an per-object granularity.