This is an automated email from the ASF dual-hosted git repository.
shuber pushed a commit to branch opensearch-persistence
in repository https://gitbox.apache.org/repos/asf/unomi.git
The following commit(s) were added to refs/heads/opensearch-persistence by this
push:
new d5e3f8131 Refactor error handling in HealthCheckIT and
OpenSearchPersistenceServiceImpl to use logging instead of printStackTrace.
Update exception messages in IdsConditionESQueryBuilder and
IdsConditionOSQueryBuilder to include maximum IDs query count for better
clarity. Other general naming cleanup.
d5e3f8131 is described below
commit d5e3f813153344aa1311fe14e07a2a858c7ad5a4
Author: Serge Huber <[email protected]>
AuthorDate: Tue Oct 14 09:12:21 2025 +0200
Refactor error handling in HealthCheckIT and
OpenSearchPersistenceServiceImpl to use logging instead of printStackTrace.
Update exception messages in IdsConditionESQueryBuilder and
IdsConditionOSQueryBuilder to include maximum IDs query count for better
clarity.
Other general naming cleanup.
---
.../org/apache/unomi/itests/HealthCheckIT.java | 3 +-
.../advanced/IdsConditionESQueryBuilder.java | 2 +-
.../advanced/IdsConditionOSQueryBuilder.java | 2 +-
.../OpenSearchPersistenceServiceImpl.java | 39 +++++++++-------------
4 files changed, 19 insertions(+), 27 deletions(-)
diff --git a/itests/src/test/java/org/apache/unomi/itests/HealthCheckIT.java
b/itests/src/test/java/org/apache/unomi/itests/HealthCheckIT.java
index b9b779984..755d184c2 100644
--- a/itests/src/test/java/org/apache/unomi/itests/HealthCheckIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/HealthCheckIT.java
@@ -80,13 +80,12 @@ public class HealthCheckIT extends BaseIT {
}
} catch (Exception e) {
LOGGER.error("Error performing GET request with url {}", url, e);
- e.printStackTrace();
} finally {
if (response != null) {
try {
response.close();
} catch (IOException e) {
- e.printStackTrace();
+ LOGGER.error("Error closing response: ", e);
}
}
}
diff --git
a/persistence-elasticsearch/conditions/src/main/java/org/apache/unomi/persistence/elasticsearch/querybuilders/advanced/IdsConditionESQueryBuilder.java
b/persistence-elasticsearch/conditions/src/main/java/org/apache/unomi/persistence/elasticsearch/querybuilders/advanced/IdsConditionESQueryBuilder.java
index 50dc9f55f..5dfe96e83 100644
---
a/persistence-elasticsearch/conditions/src/main/java/org/apache/unomi/persistence/elasticsearch/querybuilders/advanced/IdsConditionESQueryBuilder.java
+++
b/persistence-elasticsearch/conditions/src/main/java/org/apache/unomi/persistence/elasticsearch/querybuilders/advanced/IdsConditionESQueryBuilder.java
@@ -40,7 +40,7 @@ public class IdsConditionESQueryBuilder implements
ConditionESQueryBuilder {
if (ids.size() > maximumIdsQueryCount) {
// Avoid building too big ids query - throw exception instead
- throw new UnsupportedOperationException("Too many profiles");
+ throw new UnsupportedOperationException("Too many profiles,
exceeding the maximum number of ids query count: " + maximumIdsQueryCount);
}
Query idsQuery = Query.of(q -> q.ids(i ->
i.values(ids.stream().toList())));
diff --git
a/persistence-opensearch/conditions/src/main/java/org/apache/unomi/persistence/opensearch/querybuilders/advanced/IdsConditionOSQueryBuilder.java
b/persistence-opensearch/conditions/src/main/java/org/apache/unomi/persistence/opensearch/querybuilders/advanced/IdsConditionOSQueryBuilder.java
index 4fc967987..2ac25b63e 100644
---
a/persistence-opensearch/conditions/src/main/java/org/apache/unomi/persistence/opensearch/querybuilders/advanced/IdsConditionOSQueryBuilder.java
+++
b/persistence-opensearch/conditions/src/main/java/org/apache/unomi/persistence/opensearch/querybuilders/advanced/IdsConditionOSQueryBuilder.java
@@ -40,7 +40,7 @@ public class IdsConditionOSQueryBuilder implements
ConditionOSQueryBuilder {
if (ids.size() > maximumIdsQueryCount) {
// Avoid building too big ids query - throw exception instead
- throw new UnsupportedOperationException("Too many profiles");
+ throw new UnsupportedOperationException("Too many profiles,
exceeding the maximum number of ids query count: " + maximumIdsQueryCount);
}
Query idsQuery = Query.of(q->q.ids(i->i.values(new
ArrayList<String>(ids))));
diff --git
a/persistence-opensearch/core/src/main/java/org/apache/unomi/persistence/opensearch/OpenSearchPersistenceServiceImpl.java
b/persistence-opensearch/core/src/main/java/org/apache/unomi/persistence/opensearch/OpenSearchPersistenceServiceImpl.java
index afff43ee2..04b79493f 100644
---
a/persistence-opensearch/core/src/main/java/org/apache/unomi/persistence/opensearch/OpenSearchPersistenceServiceImpl.java
+++
b/persistence-opensearch/core/src/main/java/org/apache/unomi/persistence/opensearch/OpenSearchPersistenceServiceImpl.java
@@ -406,7 +406,7 @@ public class OpenSearchPersistenceServiceImpl implements
PersistenceService, Syn
client.cluster().health(new
HealthRequest.Builder().waitForStatus(getHealthStatus(minimalClusterState)).build());
LOGGER.info("Cluster status is {}", minimalClusterState);
- // We keep in memory the latest available session index to be
able to load session using direct GET access on ES
+ // We keep in memory the latest available session index to be
able to load session using direct GET access on OpenSearch
if (isItemTypeRollingOver(Session.ITEM_TYPE)) {
LOGGER.info("Sessions are using rollover indices, loading
latest session index available ...");
GetAliasResponse sessionAliasResponse =
client.indices().getAlias(new
GetAliasRequest.Builder().index(getIndex(Session.ITEM_TYPE)).build());
@@ -511,16 +511,16 @@ public class OpenSearchPersistenceServiceImpl implements
PersistenceService, Syn
bundleContext.removeBundleListener(this);
}
- public void
bindConditionOSQueryBuilder(ServiceReference<ConditionOSQueryBuilder>
conditionESQueryBuilderServiceReference) {
- ConditionOSQueryBuilder conditionOSQueryBuilder =
bundleContext.getService(conditionESQueryBuilderServiceReference);
-
conditionOSQueryBuilderDispatcher.addQueryBuilder(conditionESQueryBuilderServiceReference.getProperty("queryBuilderId").toString(),
conditionOSQueryBuilder);
+ public void
bindConditionOSQueryBuilder(ServiceReference<ConditionOSQueryBuilder>
conditionOSQueryBuilderServiceReference) {
+ ConditionOSQueryBuilder conditionOSQueryBuilder =
bundleContext.getService(conditionOSQueryBuilderServiceReference);
+
conditionOSQueryBuilderDispatcher.addQueryBuilder(conditionOSQueryBuilderServiceReference.getProperty("queryBuilderId").toString(),
conditionOSQueryBuilder);
}
- public void
unbindConditionOSQueryBuilder(ServiceReference<ConditionOSQueryBuilder>
conditionESQueryBuilderServiceReference) {
- if (conditionESQueryBuilderServiceReference == null) {
+ public void
unbindConditionOSQueryBuilder(ServiceReference<ConditionOSQueryBuilder>
conditionOSQueryBuilderServiceReference) {
+ if (conditionOSQueryBuilderServiceReference == null) {
return;
}
-
conditionOSQueryBuilderDispatcher.removeQueryBuilder(conditionESQueryBuilderServiceReference.getProperty("queryBuilderId").toString());
+
conditionOSQueryBuilderDispatcher.removeQueryBuilder(conditionOSQueryBuilderServiceReference.getProperty("queryBuilderId").toString());
}
@Override
@@ -978,7 +978,6 @@ public class OpenSearchPersistenceServiceImpl implements
PersistenceService, Syn
Query queryBuilder =
conditionOSQueryBuilderDispatcher.buildFilter(conditions[i]);
UpdateByQueryRequest.Builder
updateByQueryRequestBuilder = new UpdateByQueryRequest.Builder().index(indices);
updateByQueryRequestBuilder.conflicts(Conflicts.Proceed);
- // TODO fix this
updateByQueryRequest.setMaxRetries(1000);
updateByQueryRequestBuilder.slices(s ->
s.calculation(SlicesCalculation.Auto));
updateByQueryRequestBuilder.script(scripts[i]);
updateByQueryRequestBuilder.query(wrapWithItemsTypeQuery(itemTypes,
queryBuilder));
@@ -991,17 +990,12 @@ public class OpenSearchPersistenceServiceImpl implements
PersistenceService, Syn
} else if (waitForComplete) {
waitForTaskComplete(updateByQueryRequest.toString(),
updateByQueryRequest.toString(), updateByQueryResponse.task());
} else {
- LOGGER.debug("ES task started {}",
updateByQueryResponse.task());
+ LOGGER.debug("OpenSearch task started {}",
updateByQueryResponse.task());
}
}
return true;
} catch (OpenSearchException ose) {
- throw new Exception("No index found for itemTypes=" +
String.join(",", itemTypes), ose);
- /* TODO Implement this
- } catch (ScriptException e) {
- LOGGER.error("Error in the update script : {}\n{}\n{}",
e.getScript(), e.getDetailedMessage(), e.getScriptStack());
- throw new Exception("Error in the update script");
- */
+ throw new Exception("Error updating with query and script
for itemTypes=" + String.join(",", itemTypes), ose);
}
}
}.catchingExecuteInClassLoader(true);
@@ -1316,7 +1310,6 @@ public class OpenSearchPersistenceServiceImpl implements
PersistenceService, Syn
return response.getStatus() == 200;
} catch (Exception e) {
LOGGER.error("Error registering rollover lifecycle
policy", e);
- e.printStackTrace();
return false;
}
}
@@ -1485,15 +1478,15 @@ public class OpenSearchPersistenceServiceImpl
implements PersistenceService, Syn
}
private Map<String, Object> createPropertyMapping(final PropertyType
property) {
- final String esType =
convertValueTypeToESType(property.getValueTypeId());
+ final String osType =
convertValueTypeToOSType(property.getValueTypeId());
final HashMap<String, Object> definition = new HashMap<>();
- if (esType == null) {
+ if (osType == null) {
LOGGER.warn("No predefined type found for property[{}], no mapping
will be created", property.getValueTypeId());
return Collections.emptyMap();
} else {
- definition.put("type", esType);
- if ("text".equals(esType)) {
+ definition.put("type", osType);
+ if ("text".equals(osType)) {
definition.put("analyzer", "folding");
final Map<String, Object> fields = new HashMap<>();
final Map<String, Object> keywordField = new HashMap<>();
@@ -1518,7 +1511,7 @@ public class OpenSearchPersistenceServiceImpl implements
PersistenceService, Syn
return Collections.singletonMap(property.getItemId(), definition);
}
- private String convertValueTypeToESType(String valueTypeId) {
+ private String convertValueTypeToOSType(String valueTypeId) {
switch (valueTypeId) {
case "set":
case "json":
@@ -2282,7 +2275,7 @@ public class OpenSearchPersistenceServiceImpl implements
PersistenceService, Syn
try {
client.indices().refresh(r->r);
} catch (IOException e) {
- e.printStackTrace();//TODO manage ES7
+ LOGGER.error("Error on refresh: ", e);
}
return true;
}
@@ -2298,7 +2291,7 @@ public class OpenSearchPersistenceServiceImpl implements
PersistenceService, Syn
String index = getIndex(itemType);
client.indices().refresh(r->r.index(index));
} catch (IOException e) {
- e.printStackTrace();//TODO manage ES7
+ LOGGER.error("Error on refreshIndex: ", e);
}
return true;
}