Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-18693

Ability to disable event recording on all stores

    XMLWordPrintable

Details

    • New Feature
    • Resolution: Unresolved
    • Major
    • None
    • 12.10.6
    • Event Stream
    • None
    • Unknown

    Description

      Similarly to XWIKI-14218 that only seems to disable the displaying, emailing and processing (prefiltering, etc.) of existing recorded events, if we are not using events in any way on a wiki, we should be able to completely disable them from being recorded in the first place.

      Starting with XWiki 12.4, the eventstream module introduced a new Solr store and added a configuration property if it should be used or not:

      #-# [Since 12.4]
      #-# Indicate if the new no-SQL oriented event store is enabled. Once enabled the Solr implementation is
      #-# used by default but other implementations (like a MongoDB based implementation for example) might come later.
      #-# It's enabled by default since 12.6.
      # eventstream.store.enabled = true
      #-# Indicate which event store implementation to use. The default implementation is based on Solr.
      # eventstream.store = solr
      

      However, if we set eventstream.store.enabled=false, the "legacyStore" (SQL storage/database) is still used, which is counter-intuitive.

      So, we could
      1. Introduce a global property to disable eventstream entirely, e.g. eventstream.enabled=false
      2. Introduce a specific legacy storage property to disable that particular store, e.g. eventstream.legacyStore.enabled=false
      3. Synchronize the legacy (hibernate) store with the existing setting eventstream.store.enabled (i.e. if it's disabled, legacy should be disabled as well), while continuing to use legacy as a fallback to the configured store, and if someone wants to disable solr and only use the legacy store, they should set eventstream.store = legacy (or "hibernate"), which will disable the legacy fallback to avoid storing twice inside the same legacy store.

      Workaround (partial):
      Use eventstream.daystokeepevents=1 to auto-clean the unused events, but this will only delete events from the legacy store and not from the other stores as well, like Solr.

      Attachments

        Activity

          People

            Unassigned Unassigned
            enygma Eduard Moraru
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: