Class SplitIndexUpgradeTask

    • Constructor Detail

      • 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 Detail

      • 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
      • 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.