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 TypeMethodDescriptionboolean
Returns true if a new export can't be imported in an older instance.void
Perform the upgrade.A short (<50 chars) description of the upgrade actionboolean
Returns true if an older Space can't be imported in a new instance without running this task.boolean
void
validate()
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: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 interfaceUpgradeTask
- Overrides:
validate
in classAbstractUpgradeTask
- Throws:
Exception
-
doUpgrade
Description copied from interface:UpgradeTask
Perform the upgrade.- Throws:
UpgradeException
-
upgradeUnderConnectionWriteLock
- Throws:
UpgradeException
-
getShortDescription
Description copied from interface:UpgradeTaskInfo
A short (<50 chars) description of the upgrade action- Specified by:
getShortDescription
in interfaceUpgradeTaskInfo
- Overrides:
getShortDescription
in classAbstractUpgradeTask
-
getBuildNumber
- Specified by:
getBuildNumber
in interfaceUpgradeTaskInfo
- Overrides:
getBuildNumber
in classAbstractUpgradeTask
- 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
-