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
- Since:
- 7.9.0
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSplitIndexUpgradeTask(@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. -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns true if a new export can't be imported in an older instance.voidPerform the upgrade.A short (<50 chars) description of the upgrade actionbooleanReturns true if an older Space can't be imported in a new instance without running this task.booleanvoidvalidate()This is only implemented in this abstract base class for the convenience of the large number of older upgrade tasks.Methods inherited from class com.atlassian.confluence.upgrade.AbstractUpgradeTask
addAllErrors, addError, addError, getConstraint, getErrors, getName, isDatabaseUpgrade, setBeanName, setBuildNumber
-
Field Details
-
BUILD_NUMBER
- See Also:
-
DESCRIPTION
- See Also:
-
CONTENT
- See Also:
-
CHANGE
- See Also:
-
KB_URL
-
-
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 indexchangesConnection- lucene connection for changes indexi18NBeanFactory- I18NBeanFactory to help with the parameterised messages.
-
-
Method Details
-
validate
Description copied from class:AbstractUpgradeTaskThis 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:
validatein interfaceUpgradeTask- Overrides:
validatein classAbstractUpgradeTask- Throws:
Exception
-
doUpgrade
Description copied from interface:UpgradeTaskPerform the upgrade.- Throws:
UpgradeException
-
upgradeUnderConnectionWriteLock
- Throws:
UpgradeException
-
getShortDescription
Description copied from interface:UpgradeTaskInfoA short (<50 chars) description of the upgrade action- Specified by:
getShortDescriptionin interfaceUpgradeTaskInfo- Overrides:
getShortDescriptionin classAbstractUpgradeTask
-
getBuildNumber
- Specified by:
getBuildNumberin interfaceUpgradeTaskInfo- Overrides:
getBuildNumberin classAbstractUpgradeTask- Returns:
- The build number that this upgrade is applicable to
-
runOnSpaceImport
public boolean runOnSpaceImport()Description copied from interface:BackupSupportReturns 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:BackupSupportReturns 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
-