| | |
| | | import static org.opends.server.tools.upgrade.FormattedNotificationCallback.*; |
| | | import static org.opends.server.tools.upgrade.LicenseFile.*; |
| | | import static org.opends.server.tools.upgrade.UpgradeTasks.*; |
| | | import static org.opends.server.tools.upgrade.UpgradeUtils.*; |
| | | import static org.opends.server.tools.upgrade.UpgradeUtils.batDirectory; |
| | | import static org.opends.server.tools.upgrade.UpgradeUtils.binDirectory; |
| | | import static org.opends.server.tools.upgrade.UpgradeUtils.libDirectory; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | | /** |
| | |
| | | "ds-cfg-strict-format: false")); |
| | | |
| | | register("2.5.0", |
| | | requireConfirmation(INFO_UPGRADE_TASK_8214_DESCRIPTION.get(), |
| | | requireConfirmation(INFO_UPGRADE_TASK_8214_DESCRIPTION.get(), YES, |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_8214_SUMMARY.get(), |
| | | "(ds-cfg-java-class=org.opends.server.extensions.IsMemberOfVirtualAttributeProvider)", |
| | | "add: ds-cfg-filter", |
| | |
| | | register("2.7.0", |
| | | rerunJavaPropertiesTool(INFO_UPGRADE_TASK_9206_SUMMARY.get())); |
| | | |
| | | /** If the upgraded version is a non OEM one, migrates local-db backends to JE Backend, see OPENDJ-2364 **/ |
| | | register("3.0.0", |
| | | migrateLocalDBBackendsToJEBackends(), |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_MIGRATE_JE_SUMMARY_2.get(), |
| | | "(objectClass=ds-cfg-local-db-backend)", |
| | | "replace: objectClass", |
| | | "objectClass: top", |
| | | "objectClass: ds-cfg-backend", |
| | | "objectClass: ds-cfg-pluggable-backend", |
| | | "objectClass: ds-cfg-je-backend", |
| | | "-", |
| | | "replace: ds-cfg-java-class", |
| | | "ds-cfg-java-class: org.opends.server.backends.jeb.JEBackend", |
| | | "-", |
| | | "delete: ds-cfg-import-thread-count", |
| | | "-", |
| | | "delete: ds-cfg-import-queue-size", |
| | | "-", |
| | | "delete: ds-cfg-subordinate-indexes-enabled", |
| | | "-"), |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_MIGRATE_JE_SUMMARY_3.get(), |
| | | "(objectClass=ds-cfg-local-db-index)", |
| | | "replace: objectClass", |
| | | "objectClass: top", |
| | | "objectClass: ds-cfg-backend-index", |
| | | "-"), |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_MIGRATE_JE_SUMMARY_4.get(), |
| | | "(objectClass=ds-cfg-local-db-vlv-index)", |
| | | "replace: objectClass", |
| | | "objectClass: top", |
| | | "objectClass: ds-cfg-backend-vlv-index", |
| | | "-", |
| | | "delete: ds-cfg-max-block-size", |
| | | "-")); |
| | | conditionalUpgradeTasks( |
| | | new UpgradeCondition() { |
| | | @Override |
| | | public boolean shouldPerformUpgradeTasks(UpgradeContext context) throws ClientException { |
| | | return !isOEMVersion(); |
| | | } |
| | | }, |
| | | migrateLocalDBBackendsToJEBackends(), |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_MIGRATE_JE_SUMMARY_2.get(), |
| | | "(objectClass=ds-cfg-local-db-backend)", |
| | | "replace: objectClass", |
| | | "objectClass: top", |
| | | "objectClass: ds-cfg-backend", |
| | | "objectClass: ds-cfg-pluggable-backend", |
| | | "objectClass: ds-cfg-je-backend", |
| | | "-", |
| | | "replace: ds-cfg-java-class", |
| | | "ds-cfg-java-class: org.opends.server.backends.jeb.JEBackend", |
| | | "-", |
| | | "delete: ds-cfg-import-thread-count", |
| | | "-", |
| | | "delete: ds-cfg-import-queue-size", |
| | | "-", |
| | | "delete: ds-cfg-subordinate-indexes-enabled", |
| | | "-" |
| | | ), |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_MIGRATE_JE_SUMMARY_3.get(), |
| | | "(objectClass=ds-cfg-local-db-index)", |
| | | "replace: objectClass", |
| | | "objectClass: top", |
| | | "objectClass: ds-cfg-backend-index", |
| | | "-" |
| | | ), |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_MIGRATE_JE_SUMMARY_4.get(), |
| | | "(objectClass=ds-cfg-local-db-vlv-index)", |
| | | "replace: objectClass", |
| | | "objectClass: top", |
| | | "objectClass: ds-cfg-backend-vlv-index", |
| | | "-", |
| | | "delete: ds-cfg-max-block-size", |
| | | "-" |
| | | ) |
| | | ) |
| | | ); |
| | | |
| | | /** If the upgraded version is OEM, migrates local-db backends to PDB, see OPENDJ-2364 **/ |
| | | register("3.0.0", |
| | | conditionalUpgradeTasks( |
| | | new UpgradeCondition() { |
| | | @Override |
| | | public boolean shouldPerformUpgradeTasks(UpgradeContext context) throws ClientException { |
| | | return isOEMVersion(); |
| | | } |
| | | }, |
| | | deleteFile(new File(libDirectory, "je.jar")), |
| | | requireConfirmation(INFO_UPGRADE_TASK_LOCAL_DB_TO_PDB_1_SUMMARY.get(), NO, |
| | | renameLocalDBBackendDirectories(), |
| | | // Convert JE backends to PDB backends. |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_LOCAL_DB_TO_PDB_2_SUMMARY.get(), |
| | | "(objectclass=ds-cfg-local-db-backend)", |
| | | "delete: objectclass", |
| | | "objectclass: ds-cfg-local-db-backend", |
| | | "-", |
| | | "add: objectclass", |
| | | "objectclass: ds-cfg-pluggable-backend", |
| | | "objectclass: ds-cfg-pdb-backend", |
| | | "-", |
| | | "replace: ds-cfg-java-class", |
| | | "ds-cfg-java-class: org.opends.server.backends.pdb.PDBBackend", |
| | | "-", |
| | | "delete: ds-cfg-preload-time-limit", |
| | | "-", |
| | | "delete: ds-cfg-import-thread-count", |
| | | "-", |
| | | "delete: ds-cfg-import-queue-size", |
| | | "-", |
| | | "delete: ds-cfg-db-txn-write-no-sync", |
| | | "-", |
| | | "delete: ds-cfg-db-run-cleaner", |
| | | "-", |
| | | "delete: ds-cfg-db-cleaner-min-utilization", |
| | | "-", |
| | | "delete: ds-cfg-db-evictor-lru-only", |
| | | "-", |
| | | "delete: ds-cfg-db-evictor-core-threads", |
| | | "-", |
| | | "delete: ds-cfg-db-evictor-max-threads", |
| | | "-", |
| | | "delete: ds-cfg-db-evictor-keep-alive", |
| | | "-", |
| | | "delete: ds-cfg-db-evictor-nodes-per-scan", |
| | | "-", |
| | | "delete: ds-cfg-db-log-file-max", |
| | | "-", |
| | | "delete: ds-cfg-db-log-filecache-size", |
| | | "-", |
| | | "delete: ds-cfg-db-logging-file-handler-on", |
| | | "-", |
| | | "delete: ds-cfg-db-logging-level", |
| | | "-", |
| | | "delete: ds-cfg-db-checkpointer-bytes-interval", |
| | | "-", |
| | | "delete: ds-cfg-db-checkpointer-wakeup-interval", |
| | | "-", |
| | | "delete: ds-cfg-db-num-lock-tables", |
| | | "-", |
| | | "delete: ds-cfg-db-num-cleaner-threads", |
| | | "-", |
| | | "delete: ds-cfg-je-property", |
| | | "-", |
| | | "delete: ds-cfg-subordinate-indexes-enabled", |
| | | "-" |
| | | ), |
| | | // Convert JE backend indexes to PDB backend indexes. |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_LOCAL_DB_TO_PDB_3_SUMMARY.get(), |
| | | "(objectclass=ds-cfg-local-db-index)", |
| | | "delete: objectclass", |
| | | "objectclass: ds-cfg-local-db-index", |
| | | "-", |
| | | "add: objectclass", |
| | | "objectclass: ds-cfg-backend-index", |
| | | "-" |
| | | ), |
| | | // Convert JE backend VLV indexes to PDB backend VLV indexes. |
| | | modifyConfigEntry(INFO_UPGRADE_TASK_LOCAL_DB_TO_PDB_4_SUMMARY.get(), |
| | | "(objectclass=ds-cfg-local-db-vlv-index)", |
| | | "delete: objectclass", |
| | | "objectclass: ds-cfg-local-db-vlv-index", |
| | | "-", |
| | | "add: objectclass", |
| | | "objectclass: ds-cfg-backend-vlv-index", |
| | | "-", |
| | | "delete: ds-cfg-max-block-size", |
| | | "-" |
| | | ) |
| | | ) |
| | | ) |
| | | ); |
| | | |
| | | /** Remove dbtest tool (replaced by backendstat in 3.0.0) - see OPENDJ-1791 **/ |
| | | register("3.0.0", |
| | | deleteFile(new File(binDirectory, "dbtest")), |
| | | deleteFile(new File(batDirectory, "dbtest.bat"))); |
| | | |
| | | /** |
| | | * Rebuild all indexes when upgrading to 3.0.0. |
| | |
| | | * 2) JE backend has been migrated to pluggable architecture. |
| | | */ |
| | | register("3.0.0", |
| | | rebuildAllIndexes(INFO_UPGRADE_TASK_11260_SUMMARY.get())); |
| | | rebuildAllIndexes(INFO_UPGRADE_TASK_11260_SUMMARY.get())); |
| | | |
| | | /** See OPENDJ-1742 */ |
| | | register("3.0.0", |