This issue has been created
There are 5 updates.
 
 
XWiki Platform / cid:jira-generated-image-avatar-48aa4b8b-1d51-444f-be9c-5a0c77131996 XWIKI-25293 Open

Errors are logged when stopping XWiki while the extension index is being updated

 
View issue   ยท   Add comment
 

Issue created

 
cid:jira-generated-image-avatar-26de5d5a-5df9-47fd-9784-1e7e56146b5d Simon Urli created this issue on 14/Oct/26 17:37
 
Summary: Errors are logged when stopping XWiki while the extension index is being updated
Issue Type: cid:jira-generated-image-avatar-48aa4b8b-1d51-444f-be9c-5a0c77131996 Bug
Affects Versions: 16.10.9
Assignee: Unassigned
Components: Extension
Created: 14/Oct/26 17:37
Priority: cid:jira-generated-image-static-minor-7be50a0f-b081-4110-83cd-f4f78e3c889b Minor
Reporter: Simon Urli
Description:

Steps to reproduce

  1. Start XWiki with the extension index enabled (default)
  2. Stop XWiki while the extension index job is validating extensions (e.g. right after startup)

Expected

XWiki stops without error; the extension index is updated again at the next start.

Actual

An error is logged for each extension the job still validates after the extension index store is disposed:

ERROR o.x.e.i.i.j.ExtensionIndexJob - Failed to validate extension with if [org.xwiki.platform:...] on namespace [...]
org.infinispan.commons.IllegalLifecycleStateException: ISPN000323: Cache 'extension.index' is in 'TERMINATED' state and so it does not accept new invocations. Either restart it or recreate the cache container.
	...
	at org.xwiki.cache.infinispan.internal.InfinispanCache.remove(InfinispanCache.java:81)
	at org.xwiki.extension.index.internal.ExtensionIndexStore.commit(ExtensionIndexStore.java:245)
	at org.xwiki.extension.index.internal.job.ExtensionIndexJob.validateExtensions(ExtensionIndexJob.java:555)
	at org.xwiki.extension.index.internal.job.ExtensionIndexJob.validateLastExtensions(ExtensionIndexJob.java:231)
	at org.xwiki.extension.index.internal.job.ExtensionIndexJob.runInternal(ExtensionIndexJob.java:214)

Analysis

The extension index job runs in its own job thread and nothing stops it when XWiki stops: ExtensionIndexJobScheduler#dispose() only stops its scheduling executor. ExtensionIndexStore#dispose() then disposes the extension.index cache (added by XWIKI-23322), and every following store call of the job fails; ExtensionIndexJob#validateExtensions logs each failure as an error.

Found in the logs of the flavor UI functional tests on CI (master build 9025), when XWiki is stopped at the end of the tests.

 
 

5 updates

 
cid:jira-generated-image-avatar-26de5d5a-5df9-47fd-9784-1e7e56146b5d Changes by Simon Urli on 14/Oct/26 17:37
 
Fix Version: 17.10.15
Fix Version: 18.10.0-rc-1
Fix Version: 18.9.0
Fix Version: 18.4.7
Assignee: Simon Urli