This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 3_0_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/3_0_X by this push:
new 280597ff1f Minor refinements
280597ff1f is described below
commit 280597ff1f528e876df46d0b0ca2ac3acb9f1347
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Wed Dec 27 16:10:10 2023 +0100
Minor refinements
---
.../java/job/ElasticsearchReindex.java | 63 +++++++++++---------
.../provisioning/java/job/OpenSearchReindex.java | 67 ++++++++++++----------
2 files changed, 72 insertions(+), 58 deletions(-)
diff --git
a/ext/elasticsearch/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/ElasticsearchReindex.java
b/ext/elasticsearch/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/ElasticsearchReindex.java
index 18b5d7e509..eba46b5a44 100644
---
a/ext/elasticsearch/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/ElasticsearchReindex.java
+++
b/ext/elasticsearch/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/ElasticsearchReindex.java
@@ -158,14 +158,29 @@ public class ElasticsearchReindex extends
AbstractSchedTaskJobDelegate<SchedTask
setStatus("Start rebuilding indexes");
try {
- indexManager.createAnyIndex(
- AuthContextUtils.getDomain(), AnyTypeKind.USER,
userSettings(), userMapping());
+ indexManager.createRealmIndex(AuthContextUtils.getDomain(),
realmSettings(), realmMapping());
- indexManager.createAnyIndex(
- AuthContextUtils.getDomain(), AnyTypeKind.GROUP,
groupSettings(), groupMapping());
+ int realms = realmDAO.count();
+ String rindex =
ElasticsearchUtils.getRealmIndex(AuthContextUtils.getDomain());
+ setStatus("Indexing " + realms + " realms under " + rindex +
"...");
+
+ try (BulkIngester<Void> ingester = BulkIngester.of(b ->
b.client(client).
+
maxOperations(AnyDAO.DEFAULT_PAGE_SIZE).listener(ErrorLoggingBulkListener.INSTANCE)))
{
+
+ for (int page = 1; page <= (realms /
AnyDAO.DEFAULT_PAGE_SIZE) + 1; page++) {
+ for (String realm : realmDAO.findAllKeys(page,
AnyDAO.DEFAULT_PAGE_SIZE)) {
+ ingester.add(op -> op.index(idx -> idx.
+ index(rindex).
+ id(realm).
+
document(utils.document(realmDAO.find(realm)))));
+ }
+ }
+ } catch (Exception e) {
+ LOG.error("Errors while ingesting index {}", rindex, e);
+ }
indexManager.createAnyIndex(
- AuthContextUtils.getDomain(), AnyTypeKind.ANY_OBJECT,
anyObjectSettings(), anyObjectMapping());
+ AuthContextUtils.getDomain(), AnyTypeKind.USER,
userSettings(), userMapping());
int users = userDAO.count();
String uindex =
ElasticsearchUtils.getAnyIndex(AuthContextUtils.getDomain(), AnyTypeKind.USER);
@@ -186,6 +201,9 @@ public class ElasticsearchReindex extends
AbstractSchedTaskJobDelegate<SchedTask
LOG.error("Errors while ingesting index {}", uindex, e);
}
+ indexManager.createAnyIndex(
+ AuthContextUtils.getDomain(), AnyTypeKind.GROUP,
groupSettings(), groupMapping());
+
int groups = groupDAO.count();
String gindex =
ElasticsearchUtils.getAnyIndex(AuthContextUtils.getDomain(), AnyTypeKind.GROUP);
setStatus("Indexing " + groups + " groups under " + gindex +
"...");
@@ -202,9 +220,12 @@ public class ElasticsearchReindex extends
AbstractSchedTaskJobDelegate<SchedTask
}
}
} catch (Exception e) {
- LOG.error("Errors while ingesting index {}", uindex, e);
+ LOG.error("Errors while ingesting index {}", gindex, e);
}
+ indexManager.createAnyIndex(
+ AuthContextUtils.getDomain(), AnyTypeKind.ANY_OBJECT,
anyObjectSettings(), anyObjectMapping());
+
int anyObjects = anyObjectDAO.count();
String aindex =
ElasticsearchUtils.getAnyIndex(AuthContextUtils.getDomain(),
AnyTypeKind.ANY_OBJECT);
setStatus("Indexing " + anyObjects + " any objects under " +
aindex + "...");
@@ -221,33 +242,19 @@ public class ElasticsearchReindex extends
AbstractSchedTaskJobDelegate<SchedTask
}
}
} catch (Exception e) {
- LOG.error("Errors while ingesting index {}", uindex, e);
- }
-
- indexManager.createRealmIndex(AuthContextUtils.getDomain(),
realmSettings(), realmMapping());
-
- int realms = realmDAO.count();
- String rindex =
ElasticsearchUtils.getRealmIndex(AuthContextUtils.getDomain());
- setStatus("Indexing " + realms + " realms under " + rindex +
"...");
-
- try (BulkIngester<Void> ingester = BulkIngester.of(b ->
b.client(client).
-
maxOperations(AnyDAO.DEFAULT_PAGE_SIZE).listener(ErrorLoggingBulkListener.INSTANCE)))
{
-
- for (int page = 1; page <= (realms /
AnyDAO.DEFAULT_PAGE_SIZE) + 1; page++) {
- for (String realm : realmDAO.findAllKeys(page,
AnyDAO.DEFAULT_PAGE_SIZE)) {
- ingester.add(op -> op.index(idx -> idx.
- index(rindex).
- id(realm).
-
document(utils.document(realmDAO.find(realm)))));
- }
- }
- } catch (Exception e) {
- LOG.error("Errors while ingesting index {}", uindex, e);
+ LOG.error("Errors while ingesting index {}", aindex, e);
}
indexManager.createAuditIndex(AuthContextUtils.getDomain(),
auditSettings(), auditMapping());
setStatus("Rebuild indexes for domain " +
AuthContextUtils.getDomain() + " successfully completed");
+
+ return "Indexes created:\n"
+ + " " + rindex + " [" + realms + "]\n"
+ + " " + uindex + " [" + users + "]\n"
+ + " " + gindex + " [" + groups + "]\n"
+ + " " + aindex + " [" + anyObjects + "]\n"
+ + " " +
ElasticsearchUtils.getAuditIndex(AuthContextUtils.getDomain());
} catch (Exception e) {
throw new JobExecutionException("While rebuilding index for
domain " + AuthContextUtils.getDomain(), e);
}
diff --git
a/ext/opensearch/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/OpenSearchReindex.java
b/ext/opensearch/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/OpenSearchReindex.java
index 782c8de24a..ae3d63e960 100644
---
a/ext/opensearch/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/OpenSearchReindex.java
+++
b/ext/opensearch/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/OpenSearchReindex.java
@@ -113,14 +113,33 @@ public class OpenSearchReindex extends
AbstractSchedTaskJobDelegate<SchedTask> {
setStatus("Start rebuilding indexes");
try {
- indexManager.createAnyIndex(
- AuthContextUtils.getDomain(), AnyTypeKind.USER,
userSettings(), userMapping());
+ indexManager.createRealmIndex(AuthContextUtils.getDomain(),
realmSettings(), realmMapping());
- indexManager.createAnyIndex(
- AuthContextUtils.getDomain(), AnyTypeKind.GROUP,
groupSettings(), groupMapping());
+ int realms = realmDAO.count();
+ String rindex =
OpenSearchUtils.getRealmIndex(AuthContextUtils.getDomain());
+ setStatus("Indexing " + realms + " realms under " + rindex +
"...");
+ for (int page = 1; page <= (realms / AnyDAO.DEFAULT_PAGE_SIZE)
+ 1; page++) {
+ BulkRequest.Builder bulkRequest = new
BulkRequest.Builder();
+
+ for (String realm : realmDAO.findAllKeys(page,
AnyDAO.DEFAULT_PAGE_SIZE)) {
+ bulkRequest.operations(op -> op.index(idx -> idx.
+ index(rindex).
+ id(realm).
+
document(utils.document(realmDAO.find(realm)))));
+ }
+
+ try {
+ BulkResponse response =
client.bulk(bulkRequest.build());
+ LOG.debug("Index successfully created for {} [{}/{}]:
{}",
+ rindex, page, AnyDAO.DEFAULT_PAGE_SIZE,
response);
+ } catch (Exception e) {
+ LOG.error("Could not create index for {} [{}/{}]: {}",
+ rindex, page, AnyDAO.DEFAULT_PAGE_SIZE, e);
+ }
+ }
indexManager.createAnyIndex(
- AuthContextUtils.getDomain(), AnyTypeKind.ANY_OBJECT,
anyObjectSettings(), anyObjectMapping());
+ AuthContextUtils.getDomain(), AnyTypeKind.USER,
userSettings(), userMapping());
int users = userDAO.count();
String uindex =
OpenSearchUtils.getAnyIndex(AuthContextUtils.getDomain(), AnyTypeKind.USER);
@@ -145,6 +164,9 @@ public class OpenSearchReindex extends
AbstractSchedTaskJobDelegate<SchedTask> {
}
}
+ indexManager.createAnyIndex(
+ AuthContextUtils.getDomain(), AnyTypeKind.GROUP,
groupSettings(), groupMapping());
+
int groups = groupDAO.count();
String gindex =
OpenSearchUtils.getAnyIndex(AuthContextUtils.getDomain(), AnyTypeKind.GROUP);
setStatus("Indexing " + groups + " groups under " + gindex +
"...");
@@ -168,6 +190,9 @@ public class OpenSearchReindex extends
AbstractSchedTaskJobDelegate<SchedTask> {
}
}
+ indexManager.createAnyIndex(
+ AuthContextUtils.getDomain(), AnyTypeKind.ANY_OBJECT,
anyObjectSettings(), anyObjectMapping());
+
int anyObjects = anyObjectDAO.count();
String aindex =
OpenSearchUtils.getAnyIndex(AuthContextUtils.getDomain(),
AnyTypeKind.ANY_OBJECT);
setStatus("Indexing " + anyObjects + " any objects under " +
aindex + "...");
@@ -191,34 +216,16 @@ public class OpenSearchReindex extends
AbstractSchedTaskJobDelegate<SchedTask> {
}
}
- indexManager.createRealmIndex(AuthContextUtils.getDomain(),
realmSettings(), realmMapping());
-
- int realms = realmDAO.count();
- String rindex =
OpenSearchUtils.getRealmIndex(AuthContextUtils.getDomain());
- setStatus("Indexing " + realms + " realms under " + rindex +
"...");
- for (int page = 1; page <= (realms / AnyDAO.DEFAULT_PAGE_SIZE)
+ 1; page++) {
- BulkRequest.Builder bulkRequest = new
BulkRequest.Builder();
-
- for (String realm : realmDAO.findAllKeys(page,
AnyDAO.DEFAULT_PAGE_SIZE)) {
- bulkRequest.operations(op -> op.index(idx -> idx.
- index(rindex).
- id(realm).
-
document(utils.document(realmDAO.find(realm)))));
- }
-
- try {
- BulkResponse response =
client.bulk(bulkRequest.build());
- LOG.debug("Index successfully created for {} [{}/{}]:
{}",
- rindex, page, AnyDAO.DEFAULT_PAGE_SIZE,
response);
- } catch (Exception e) {
- LOG.error("Could not create index for {} [{}/{}]: {}",
- rindex, page, AnyDAO.DEFAULT_PAGE_SIZE, e);
- }
- }
-
indexManager.createAuditIndex(AuthContextUtils.getDomain(),
auditSettings(), auditMapping());
setStatus("Rebuild indexes for domain " +
AuthContextUtils.getDomain() + " successfully completed");
+
+ return "Indexes created:\n"
+ + " " + rindex + " [" + realms + "]\n"
+ + " " + uindex + " [" + users + "]\n"
+ + " " + gindex + " [" + groups + "]\n"
+ + " " + aindex + " [" + anyObjects + "]\n"
+ + " " +
OpenSearchUtils.getAuditIndex(AuthContextUtils.getDomain());
} catch (Exception e) {
throw new JobExecutionException("While rebuilding index for
domain " + AuthContextUtils.getDomain(), e);
}