Sub-Directories in the Permanent Directory

Last modified by Eleni Cojocariu on 2026/09/11 18:08

Reference

The permanent directory holds the following. Installed extensions can add more.

Sub-directoryDescription
storeThe data stores, in two sub-directories:
  • store/file: attachments and deleted pages. Attachment content is stored on the filesystem by default; xwiki.store.attachment.hint=hibernate in xwiki.cfg puts it in the database instead. Attachment metadata, such as the creator and the date, is always in the database.
    • store.file.directory in xwiki.properties moves this one sub-directory outside the permanent directory.
    • XWiki 17.10.0+ Attachment content can also be stored in S3, in which case the directory structure is preserved: the relative paths under the permanent directory are the keys in the configured S3 bucket.
  • store/solr: the Solr configuration and the data that cannot be reindexed from another source. Solr's cache data lives in cache instead.
extensionThe installed extensions and the metadata of where they are installed.
cacheData XWiki can rebuild. It is the one sub-directory that can be removed safely, at the cost of the time the rebuild takes, which is significant on a large instance. It holds:
  • the Solr search indexes;
  • the descriptors of the core extensions, resolved again at the next startup. Most are embedded in the JARs packaged in the WAR, so only a few are downloaded again, and removing them clears out the descriptors left by previous XWiki versions;
  • the FOP font cache used by the PDF export.
mailsThe messages handled by the Mail Sender API. Each message is serialized here before it is sent, so that it is not lost if XWiki stops or crashes, and the file is removed once the send succeeds. What stays behind is therefore the mails that failed.
logsThe XWiki logs, in the Standalone (Demo) Distribution only, whose Jetty is configured to write them here.
jobs/statusThe logs and statuses of the background jobs XWiki runs, for instance the job that deletes a page. The directory structure follows the job id.
  • XWiki 17.2.0+, 16.10.6+ The path is prefixed with a store version, currently 3, because job ids have not always been mapped to file names the same way.
  • Most entries only record that a job ran and can be removed; a few jobs read their stored status back.
  • The standard job directories, to which extensions add their own:
    • jobs/status/3/distribution: the decisions taken in the Distribution Wizard, usually during installation or upgrade. Worth keeping: without it the Distribution Wizard can come back at the next startup and some steps have to be cancelled again.
    • jobs/status/3/extension: the logs of the extension install and uninstall operations. Safe to remove, only the history is lost.
    • jobs/status/3/refactoring: the logs of the refactoring operations. Safe to remove, only the history is lost.
    • jobs/status/3/solr/indexer: the logs of the Solr indexing operations. Safe to remove, only the history is lost.
    • jobs/status/3/wikicreation: the logs of the wiki creation operations. Safe to remove, only the history is lost.
databaseThe HSQLDB database files, in the Standalone (Demo) Distribution only.
observationThe unique identifier of the instance in a cluster, used by the Observation Module Remote.
configuration.propertiesA file rather than a directory: the configuration XWiki generates for itself, such as the validation and encryption keys used for the authentication cookies when xwiki.cfg does not provide them.

FAQ

Can I move the whole permanent directory while XWiki runs?

No. The location is read once at startup, so the instance has to be stopped, the content moved and the configuration changed before it is started again.

Related

Get Connected