Class SplitIndexUpgradeTask

java.lang.Object
com.atlassian.confluence.upgrade.AbstractUpgradeTask
com.atlassian.confluence.upgrade.upgradetask.SplitIndexUpgradeTask
All Implemented Interfaces:
BackupSupport, UpgradeTask, UpgradeTaskInfo, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware

public class SplitIndexUpgradeTask extends AbstractUpgradeTask
Since:
7.9.0
  • Field Details

  • Constructor Details

    • SplitIndexUpgradeTask

      public SplitIndexUpgradeTask(@NonNull ILuceneConnection contentConnection, @NonNull ILuceneConnection changesConnection, @NonNull I18NBeanFactory i18NBeanFactory, @NonNull JournalStateStore journalStateStore, @NonNull JournalIdentifier contentJournalIdentifier, @NonNull JournalIdentifier changeJournalIdentifier, @NonNull SplitIndexSnapshotManager snapshotManager)
      Creates a new SplitIndexUpgradeTask that will split the index.
      Parameters:
      contentConnection - lucene connection for content index
      changesConnection - lucene connection for changes index
      i18NBeanFactory - I18NBeanFactory to help with the parameterised messages.
  • Method Details

    • validate

      public void validate() throws Exception
      Description copied from class: AbstractUpgradeTask

      This is only implemented in this abstract base class for the convenience of the large number of older upgrade tasks.

      If you are implementing a new UpgradeTask you must give some consideration to implementing validation as well.

      Specified by:
      validate in interface UpgradeTask
      Overrides:
      validate in class AbstractUpgradeTask
      Throws:
      Exception
    • doUpgrade

      public void doUpgrade() throws UpgradeException
      Description copied from interface: UpgradeTask
      Perform the upgrade.
      Throws:
      UpgradeException
    • upgradeUnderConnectionWriteLock

      public boolean upgradeUnderConnectionWriteLock() throws UpgradeException
      Throws:
      UpgradeException
    • getShortDescription

      public String getShortDescription()
      Description copied from interface: UpgradeTaskInfo
      A short (<50 chars) description of the upgrade action
      Specified by:
      getShortDescription in interface UpgradeTaskInfo
      Overrides:
      getShortDescription in class AbstractUpgradeTask
    • getBuildNumber

      public String getBuildNumber()
      Specified by:
      getBuildNumber in interface UpgradeTaskInfo
      Overrides:
      getBuildNumber in class AbstractUpgradeTask
      Returns:
      The build number that this upgrade is applicable to
    • runOnSpaceImport

      public boolean runOnSpaceImport()
      Description copied from interface: BackupSupport
      Returns true if an older Space can't be imported in a new instance without running this task. For example:
      • A task updating macro names in the BodyContent table would be blocking.
      • Tasks which updates data related to the space would be blocking.
      • A task upgrading the user table wouldn't be blocking.
      • Adding a mandatory column on space-related content breaks space import

      Note that tasks don't run on space import yet, so we just reject the import in this case.

    • breaksBackwardCompatibility

      public boolean breaksBackwardCompatibility()
      Description copied from interface: BackupSupport
      Returns true if a new export can't be imported in an older instance.

      Breaking compatibility means a snapshot of the new version will not work at all with the previous version. For example:

      • A destructive operation (Some data is replaced by another) breaks backwards compatibility
      • Adding a optional column does NOT break backwards compatibility
      • Data is copied to another column doesn't breaks backwards compatibility
      • A build number incrementation doesn't breaks backwards compatibility
      The best way to test is whether a newer export can be imported (with fully working features) in an older instance.