You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by js...@apache.org on 2023/02/09 18:11:59 UTC
[unomi] 01/01: feedbacks
This is an automated email from the ASF dual-hosted git repository.
jsinovassinnaik pushed a commit to branch UNOMI-728-index-migration
in repository https://gitbox.apache.org/repos/asf/unomi.git
commit 406b9a3302fd76586eff0ac42486b98228c63c9c
Author: jsinovassin <js...@jahia.com>
AuthorDate: Thu Feb 9 18:04:49 2023 +0100
feedbacks
---
.../unomi/itests/migration/Migrate16xTo220IT.java | 4 +-
...migrate-2.2.0-00-rolloverAndMigrateEvent.groovy | 74 ----------------------
...2.2.0-00-rolloverAndMigrateEventSession.groovy} | 52 +++++++++++----
...g.json => base_index_withRollover_request.json} | 0
4 files changed, 42 insertions(+), 88 deletions(-)
diff --git a/itests/src/test/java/org/apache/unomi/itests/migration/Migrate16xTo220IT.java b/itests/src/test/java/org/apache/unomi/itests/migration/Migrate16xTo220IT.java
index 63e84ff58..fba7bbda0 100644
--- a/itests/src/test/java/org/apache/unomi/itests/migration/Migrate16xTo220IT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/migration/Migrate16xTo220IT.java
@@ -84,13 +84,13 @@ public class Migrate16xTo220IT extends BaseIT {
checkViewEventRestructured();
checkEventTypesNotPersistedAnymore();
checkForMappingUpdates();
- checkNewIndexesExists();
+ checkEventSessionRollover2_2_0();
}
/**
* Checks if at least the new index for events and sessions exists.
*/
- private void checkNewIndexesExists() throws IOException {
+ private void checkEventSessionRollover2_2_0() throws IOException {
Assert.assertTrue(MigrationUtils.indexExists(httpClient, "http://localhost:9400", "context-event-000001"));
Assert.assertTrue(MigrationUtils.indexExists(httpClient, "http://localhost:9400", "context-session-000001"));
}
diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-rolloverAndMigrateEvent.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-rolloverAndMigrateEvent.groovy
deleted file mode 100644
index 99fcf9e02..000000000
--- a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-rolloverAndMigrateEvent.groovy
+++ /dev/null
@@ -1,74 +0,0 @@
-import org.apache.unomi.shell.migration.service.MigrationContext
-import org.apache.unomi.shell.migration.utils.HttpUtils
-import org.apache.unomi.shell.migration.utils.MigrationUtils
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-MigrationContext context = migrationContext
-String esAddress = context.getConfigString("esAddress")
-String indexPrefix = context.getConfigString("indexPrefix")
-String newEventIndex = indexPrefix + "-event-000001"
-String rolloverPolicyName = indexPrefix + "-unomi-rollover-policy"
-String rolloverEventAlias = indexPrefix + "-event"
-
-
-context.performMigrationStep("2.2.0-00-update-lifecyle-poll-interval", () -> {
- String updatePollIntervalBody = MigrationUtils.resourceAsString(bundleContext, "requestBody/2.2.0/update_settings_poll_interval.json")
- .replace("#pollIntervalValue", "\"2s\"")
- HttpUtils.executePutRequest(context.getHttpClient(), esAddress + "/_cluster/settings", updatePollIntervalBody, null)
-})
-
-context.performMigrationStep("2.2.0-00-create-rollover-policy", () -> {
- String createRolloverPolicyQuery = MigrationUtils.resourceAsString(bundleContext, "requestBody/2.2.0/create_rollover_policy_query.json")
- String rolloverQueryBody = MigrationUtils.buildRolloverPolicyCreationRequest(createRolloverPolicyQuery, context)
-
- HttpUtils.executePutRequest(context.getHttpClient(), esAddress + "/_ilm/policy/" + rolloverPolicyName, rolloverQueryBody, null)
-})
-
-context.performMigrationStep("2.2.0-00-create-event-index", () -> {
- if (!MigrationUtils.indexExists(context.getHttpClient(), esAddress, newEventIndex)) {
- String baseRequest = MigrationUtils.resourceAsString(bundleContext, "requestBody/2.2.0/base_index_mapping.json")
- String mapping = MigrationUtils.extractMappingFromBundles(bundleContext, "event.json")
-
- String newIndexSettings = MigrationUtils.buildIndexCreationRequestWithRollover(baseRequest, mapping, context, rolloverPolicyName, rolloverEventAlias)
- HttpUtils.executePutRequest(context.getHttpClient(), esAddress + "/" + newEventIndex, newIndexSettings, null)
- }
-})
-
-Set<String> eventIndices = MigrationUtils.getIndexesPrefixedBy(context.getHttpClient(), esAddress, indexPrefix + "-event-date-")
-List<String> sortedIndices = new ArrayList<>(eventIndices)
-Collections.sort(sortedIndices)
-
-context.performMigrationStep("2.2.0-00-migrate-existing-events", () -> {
- sortedIndices.each { eventIndex ->
- MigrationUtils.moveToIndex(context.getHttpClient(), bundleContext, esAddress, eventIndex, indexPrefix + "-event")
- sleep(3000)
- }
-})
-
-context.performMigrationStep("2.2.0-00-remove-old-events-indices", () -> {
- sortedIndices.each { eventIndex ->
- MigrationUtils.deleteIndex(context.getHttpClient(), esAddress, eventIndex)
- }
-})
-
-context.performMigrationStep("2.2.0-00-reset-poll-interval", () -> {
- String updatePollIntervalBody = MigrationUtils.resourceAsString(bundleContext, "requestBody/2.2.0/update_settings_poll_interval.json")
- .replace("#pollIntervalValue", "null")
- HttpUtils.executePutRequest(context.getHttpClient(), esAddress + "/_cluster/settings", updatePollIntervalBody, null)
-})
diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateSession.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-rolloverAndMigrateEventSession.groovy
similarity index 61%
rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateSession.groovy
rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-rolloverAndMigrateEventSession.groovy
index a553ae808..13cc18e38 100644
--- a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateSession.groovy
+++ b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-rolloverAndMigrateEventSession.groovy
@@ -22,25 +22,53 @@ import org.apache.unomi.shell.migration.utils.MigrationUtils
MigrationContext context = migrationContext
String esAddress = context.getConfigString("esAddress")
String indexPrefix = context.getConfigString("indexPrefix")
-String newSessionIndex = indexPrefix + "-session-000001"
+String newEventIndex = indexPrefix + "-event-000001"
String rolloverPolicyName = indexPrefix + "-unomi-rollover-policy"
+String rolloverEventAlias = indexPrefix + "-event"
+String newSessionIndex = indexPrefix + "-session-000001"
String rolloverSessionAlias = indexPrefix + "-session"
-
-context.performMigrationStep("2.2.0-10-update-lifecyle-poll-interval", () -> {
+context.performMigrationStep("2.2.0-update-lifecyle-poll-interval", () -> {
String updatePollIntervalBody = MigrationUtils.resourceAsString(bundleContext, "requestBody/2.2.0/update_settings_poll_interval.json")
.replace("#pollIntervalValue", "\"2s\"")
HttpUtils.executePutRequest(context.getHttpClient(), esAddress + "/_cluster/settings", updatePollIntervalBody, null)
})
-context.performMigrationStep("2.2.0-10-create-rollover-policy", () -> {
+context.performMigrationStep("2.2.0-create-rollover-policy", () -> {
String createRolloverPolicyQuery = MigrationUtils.resourceAsString(bundleContext, "requestBody/2.2.0/create_rollover_policy_query.json")
String rolloverQueryBody = MigrationUtils.buildRolloverPolicyCreationRequest(createRolloverPolicyQuery, context)
HttpUtils.executePutRequest(context.getHttpClient(), esAddress + "/_ilm/policy/" + rolloverPolicyName, rolloverQueryBody, null)
})
-context.performMigrationStep("2.2.0-10-create-session-index", () -> {
+context.performMigrationStep("2.2.0-create-event-index", () -> {
+ if (!MigrationUtils.indexExists(context.getHttpClient(), esAddress, newEventIndex)) {
+ String baseRequest = MigrationUtils.resourceAsString(bundleContext, "requestBody/2.2.0/base_index_mapping.json")
+ String mapping = MigrationUtils.extractMappingFromBundles(bundleContext, "event.json")
+
+ String newIndexSettings = MigrationUtils.buildIndexCreationRequestWithRollover(baseRequest, mapping, context, rolloverPolicyName, rolloverEventAlias)
+ HttpUtils.executePutRequest(context.getHttpClient(), esAddress + "/" + newEventIndex, newIndexSettings, null)
+ }
+})
+
+Set<String> eventIndices = MigrationUtils.getIndexesPrefixedBy(context.getHttpClient(), esAddress, indexPrefix + "-event-date-")
+List<String> eventSortedIndices = new ArrayList<>(eventIndices)
+Collections.sort(eventSortedIndices)
+
+context.performMigrationStep("2.2.0-migrate-existing-events", () -> {
+ eventSortedIndices.each { eventIndex ->
+ MigrationUtils.moveToIndex(context.getHttpClient(), bundleContext, esAddress, eventIndex, indexPrefix + "-event")
+ sleep(3000)
+ }
+})
+
+context.performMigrationStep("2.2.0-remove-old-events-indices", () -> {
+ eventSortedIndices.each { eventIndex ->
+ MigrationUtils.deleteIndex(context.getHttpClient(), esAddress, eventIndex)
+ }
+})
+
+context.performMigrationStep("2.2.0-create-session-index", () -> {
if (!MigrationUtils.indexExists(context.getHttpClient(), esAddress, newSessionIndex)) {
String baseRequest = MigrationUtils.resourceAsString(bundleContext, "requestBody/2.2.0/base_index_mapping.json")
String mapping = MigrationUtils.extractMappingFromBundles(bundleContext, "session.json")
@@ -51,23 +79,23 @@ context.performMigrationStep("2.2.0-10-create-session-index", () -> {
})
Set<String> sessionIndices = MigrationUtils.getIndexesPrefixedBy(context.getHttpClient(), esAddress, indexPrefix + "-session-date-")
-List<String> sortedIndices = new ArrayList<>(sessionIndices)
-Collections.sort(sortedIndices)
+List<String> sessionSortedIndices = new ArrayList<>(sessionIndices)
+Collections.sort(sessionSortedIndices)
-context.performMigrationStep("2.2.0-10-migrate-existing-sessions", () -> {
- sortedIndices.each { sessionIndex ->
+context.performMigrationStep("2.2.0-migrate-existing-sessions", () -> {
+ sessionSortedIndices.each { sessionIndex ->
MigrationUtils.moveToIndex(context.getHttpClient(), bundleContext, esAddress, sessionIndex, indexPrefix + "-session")
sleep(3000)
}
})
-context.performMigrationStep("2.2.0-10-remove-old-sessions-indices", () -> {
- sortedIndices.each { sessionIndex ->
+context.performMigrationStep("2.2.0-remove-old-sessions-indices", () -> {
+ sessionSortedIndices.each { sessionIndex ->
MigrationUtils.deleteIndex(context.getHttpClient(), esAddress, sessionIndex)
}
})
-context.performMigrationStep("2.2.0-10-reset-poll-interval", () -> {
+context.performMigrationStep("2.2.0-reset-poll-interval", () -> {
String updatePollIntervalBody = MigrationUtils.resourceAsString(bundleContext, "requestBody/2.2.0/update_settings_poll_interval.json")
.replace("#pollIntervalValue", "null")
HttpUtils.executePutRequest(context.getHttpClient(), esAddress + "/_cluster/settings", updatePollIntervalBody, null)
diff --git a/tools/shell-commands/src/main/resources/requestBody/2.2.0/base_index_mapping.json b/tools/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json
similarity index 100%
rename from tools/shell-commands/src/main/resources/requestBody/2.2.0/base_index_mapping.json
rename to tools/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json