Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
7.0
-
None
-
Unknown
-
Description
The search REST endpoint of the extension repository (/rest/repository/search) only filters the Solr results on validExtension. The version returned for each extension is read from the Solr index (lastVersion field), which can be out of sync with the extension page: on extensions.xwiki.org the page of org.xwiki.platform:xwiki-platform-image-style-rest was indexed as a valid extension without any last version, so the search returned it without <version>, which made the clients fail (see XCOMMONS-3863).
The search should also require a non-empty last version, so that it never returns an extension that clients cannot resolve.
The cause of the out of sync index is not fully established yet. The page history shows that, during several nightly imports, the "Updated last version of the extension" save of ExtensionUpdaterListener stored an empty lastVersion and validExtension=0 on the extension page, which the import restored a second later (same family of problems as XWIKI-24907 and XWIKI-25208).
Attachments
Issue Links
- relates to
-
XCOMMONS-3863 "Failed to get remote extension from repository" NPE warning after starting an XWiki instance
-
- Closed
-
-
XWIKI-24907 Importing an extension in the repository may saves a stale document and overwrites the concurrent last-version update
-
- Closed
-
-
XWIKI-25208 In a cluster, updating a project or an extension in the repository may be reverted by the concurrent last-version update of the page
-
- Closed
-