[xwiki/xwiki-platform] 04692c: XWIKI-24710: Add script APIs to count distinct act...
Branch: refs/heads/XWIKI-24710 Home: https://github.com/xwiki/xwiki-platform Commit: 04692ce6ccbe320f678924b8632fbbe83cd2674f https://github.com/xwiki/xwiki-platform/commit/04692ce6ccbe320f678924b8632fb... Author: Vincent Massol <[email protected]> Date: 2026-08-26 (Wed, 26 Aug 2026) Changed paths: M xwiki-platform-core/xwiki-platform-activeinstalls2/xwiki-platform-activeinstalls2-api/src/main/java/org/xwiki/activeinstalls2/ActiveInstallsConfiguration.java M xwiki-platform-core/xwiki-platform-activeinstalls2/xwiki-platform-activeinstalls2-api/src/main/java/org/xwiki/activeinstalls2/DataManager.java M xwiki-platform-core/xwiki-platform-activeinstalls2/xwiki-platform-activeinstalls2-api/src/main/java/org/xwiki/activeinstalls2/internal/DefaultDataManager.java M xwiki-platform-core/xwiki-platform-activeinstalls2/xwiki-platform-activeinstalls2-api/src/main/java/org/xwiki/activeinstalls2/script/ActiveInstallsScriptService.java M xwiki-platform-tools/xwiki-platform-tool-configuration-resources/src/main/resources/xwiki.properties.vm Log Message: ----------- XWIKI-24710: Add script APIs to count distinct active installs globally and per extension * Raise the cardinality precision threshold of the per-extension count from 3000 to 10000, so that the count of an extension installed on more instances than Elasticsearch's default threshold is accurate too. The memory that multiplying that threshold by the maximum extension count suggests is a worst case which isn't actually paid: a bucket only grows to the memory of its threshold once it really holds that many distinct instances, so the long tail of extensions installed on few instances each costs a fraction of it. * Say that raising Elasticsearch's search.max_buckets is needed once more than roughly 32000 extensions are actually counted, rather than once the configured maximum goes above that number, since it's the extensions counted that create those buckets and not the maximum. * Declare TooManyExtensionsException in the throws clause of countDistinctInstallsByExtension(), on the DataManager role, its default implementation and the script service, so that a caller finds it in the signature and not only in the Javadoc. * Encode the JSON query in UTF-8 rather than in the platform default charset before base64-encoding it into the Elasticsearch wrapper query. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> To unsubscribe from these emails, change your notification settings at https://github.com/xwiki/xwiki-platform/settings/notifications
participants (1)
-
XWiki Notifications