Problem/Motivation
When viewing the Config Distro updates page with Configuration Synchronizer installed, a query in the following form may be repeated up to hundreds of times:
SELECT cid, data, created, expire, serialized, tags, checksum FROM cache_config WHERE cid IN ( :cids__0, :cids__1, :cids__2, :cids__3, :cids__4, :cids__5, :cids__6, :cids__7, :cids__8, :cids__9, :cids__10, :cids__11, :cids__12, :cids__13, :cids__14, :cids__15, :cids__16, :cids__17, :cids__18, [further CID placeholders omitted] ) ORDER BY cid
This appears to be loading all installed configuration from cache.
This issue results from creating and using multiple storage comparers with the active storage as target. The full config is loaded from cache for each comparer. This occurs only when using the full reset update mode, since only then are we comparing against the active configuration storage.
Proposed resolution
Beyond that, we need the ability to set a source storage on an existing configuration comparer, so that we can reuse the one where records from active are already loaded.
For that:
- Add a SettableStorageComparer class.
- Use that when comparing against active.
Remaining tasks
User interface changes
API changes
Data model changes
| Comment | File | Size | Author |
|---|---|---|---|
| #3 | config_sync-compare-3009616-3.patch | 5.63 KB | nedjo |
Comments
Comment #2
nedjoComment #3
nedjoComment #5
nedjo