From 642ee854211fe638a4c47b44eae0d1405f20caf7 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 09 Oct 2015 11:49:40 +0000
Subject: [PATCH] OPENDJ-1719: implement upgrade tasks for migrating JE backends
---
opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java | 83 ++++++++++++++++++++++++++++++-----------
1 files changed, 61 insertions(+), 22 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
index 733f507..8788dbc 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
@@ -383,10 +383,6 @@
deleteConfigEntry(INFO_UPGRADE_TASK_11339_SUMMARY.get(),
"dn: cn=Extensions,cn=config"));
- /** See OPENDJ-1637 */
- register("2.8.0",
- rebuildAllIndexes(INFO_UPGRADE_TASK_11260_SUMMARY.get()));
-
/** See OPENDJ-1701 */
register("2.8.0",
deleteConfigEntry(INFO_UPGRADE_TASK_11476_SUMMARY.get(),
@@ -407,6 +403,49 @@
register("2.7.0",
rerunJavaPropertiesTool(INFO_UPGRADE_TASK_9206_SUMMARY.get()));
+ 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",
+ "-"));
+
+ /**
+ * Rebuild all indexes when upgrading to 3.0.0.
+ *
+ * 1) matching rules have changed in 2.8.0 and again in 3.0.0- see OPENDJ-1637
+ * 2) JE backend has been migrated to pluggable architecture.
+ */
+ register("3.0.0",
+ rebuildAllIndexes(INFO_UPGRADE_TASK_11260_SUMMARY.get()));
+
/*
* All upgrades will refresh the server configuration schema and generate
* a new upgrade folder.
@@ -485,27 +524,27 @@
return;
}
- /*
- * Let tasks interact with the user in order to obtain user's selection.
- */
- context.notify(INFO_UPGRADE_REQUIREMENTS.get(), TITLE_CALLBACK);
- for (final UpgradeTask task : tasks)
- {
- task.prepare(context);
- }
-
- // Starts upgrade
- final int userResponse = context.confirmYN(INFO_UPGRADE_DISPLAY_CONFIRM_START.get(), ConfirmationCallback.YES);
- if (userResponse == ConfirmationCallback.NO)
- {
- final LocalizableMessage message = INFO_UPGRADE_ABORTED_BY_USER.get();
- context.notify(message, WARNING);
- throw new ClientException(ReturnCode.ERROR_UNEXPECTED, message);
- }
-
try
{
/*
+ * Let tasks interact with the user in order to obtain user's selection.
+ */
+ context.notify(INFO_UPGRADE_REQUIREMENTS.get(), TITLE_CALLBACK);
+ for (final UpgradeTask task : tasks)
+ {
+ task.prepare(context);
+ }
+
+ // Starts upgrade
+ final int userResponse = context.confirmYN(INFO_UPGRADE_DISPLAY_CONFIRM_START.get(), ConfirmationCallback.YES);
+ if (userResponse == ConfirmationCallback.NO)
+ {
+ final LocalizableMessage message = INFO_UPGRADE_ABORTED_BY_USER.get();
+ context.notify(message, WARNING);
+ throw new ClientException(ReturnCode.ERROR_UNEXPECTED, message);
+ }
+
+ /*
* Perform the upgrade tasks.
*/
context.notify(INFO_UPGRADE_PERFORMING_TASKS.get(), TITLE_CALLBACK);
--
Gitblit v1.10.0