You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ol...@apache.org on 2018/11/28 14:04:28 UTC
[ambari-logsearch] branch master updated: AMBARI-24939. ADDENDUM -
Optimize /metadata post operation
This is an automated email from the ASF dual-hosted git repository.
oleewere pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ambari-logsearch.git
The following commit(s) were added to refs/heads/master by this push:
new ee6688e AMBARI-24939. ADDENDUM - Optimize /metadata post operation
ee6688e is described below
commit ee6688ecbb2324d9f7bfbd75cfda462c6f2c4b43
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Wed Nov 28 15:03:47 2018 +0100
AMBARI-24939. ADDENDUM - Optimize /metadata post operation
---
.../org/apache/ambari/logsearch/dao/MetadataSolrDao.java | 10 ++++++++--
.../apache/ambari/logsearch/manager/MetadataManager.java | 13 +++++++------
.../apache/ambari/logsearch/rest/MetadataResource.java | 15 +++++++--------
3 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/MetadataSolrDao.java b/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/MetadataSolrDao.java
index f6c3b1e..06c5775 100644
--- a/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/MetadataSolrDao.java
+++ b/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/MetadataSolrDao.java
@@ -21,6 +21,7 @@ package org.apache.ambari.logsearch.dao;
import java.io.IOException;
import java.io.UncheckedIOException;
+import java.util.List;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
@@ -33,6 +34,7 @@ import org.apache.ambari.logsearch.conf.SolrPropsConfig;
import org.apache.ambari.logsearch.conf.SolrMetadataPropsConfig;
import org.apache.ambari.logsearch.conf.global.SolrCollectionState;
import org.apache.ambari.logsearch.configurer.SolrCollectionConfigurer;
+import org.apache.curator.shaded.com.google.common.collect.ImmutableList;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.solr.client.solrj.SolrServerException;
@@ -107,9 +109,13 @@ public class MetadataSolrDao extends SolrDaoBase {
}
}
- public UpdateResponse addDocs(SolrInputDocument doc) {
+ public UpdateResponse addDoc(SolrInputDocument doc) {
+ return addDocs(ImmutableList.of(doc));
+ }
+
+ public UpdateResponse addDocs(List<SolrInputDocument> docs) {
try {
- UpdateResponse updateResoponse = getSolrClient().add(doc);
+ UpdateResponse updateResoponse = getSolrClient().add(docs);
LOG_PERFORMANCE.info("Username :- " + LogSearchContext.getCurrentUsername() +
" Update Time Execution :- " + updateResoponse.getQTime() + " Total Time Elapsed is :- " + updateResoponse.getElapsedTime());
getSolrClient().commit();
diff --git a/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/MetadataManager.java b/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/MetadataManager.java
index a0be60f..40e2f57 100644
--- a/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/MetadataManager.java
+++ b/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/MetadataManager.java
@@ -27,7 +27,6 @@ import java.util.UUID;
import org.apache.ambari.logsearch.common.LogSearchContext;
import org.apache.ambari.logsearch.dao.MetadataSolrDao;
import org.apache.ambari.logsearch.model.request.impl.MetadataRequest;
-import org.apache.ambari.logsearch.model.request.impl.query.MetadataQueryRequest;
import org.apache.ambari.logsearch.model.response.LogsearchMetaData;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -61,18 +60,20 @@ public class MetadataManager extends JsonManagerBase {
public String saveMetadata(Collection<LogsearchMetaData> logsearchMetaDataList) {
List<SolrInputDocument> solrInputDocList = new ArrayList<>();
for (LogsearchMetaData metaData : logsearchMetaDataList) {
- solrInputDocList.add(saveOneMetadata(metaData));
+ solrInputDocList.add(createMetadata(metaData));
}
+ metadataSolrDao.addDocs(solrInputDocList);
return convertObjToString(solrInputDocList);
}
public String saveMetadata(LogsearchMetaData metadata) {
- return convertObjToString(saveOneMetadata(metadata));
+ SolrInputDocument solrInputDocument = createMetadata(metadata);
+ metadataSolrDao.addDoc(solrInputDocument);
+ return convertObjToString(solrInputDocument);
}
- private SolrInputDocument saveOneMetadata(LogsearchMetaData metadata) {
+ private SolrInputDocument createMetadata(LogsearchMetaData metadata) {
String name = metadata.getName();
-
SolrInputDocument solrInputDoc = new SolrInputDocument();
if (!isValid(metadata, false)) {
throw new MalformedInputException("Name,type and value should be specified, input:" + ToStringBuilder.reflectionToString(metadata));
@@ -83,8 +84,8 @@ public class MetadataManager extends JsonManagerBase {
solrInputDoc.addField(VALUE, metadata.getValue());
solrInputDoc.addField(NAME, name);
solrInputDoc.addField(TYPE, metadata.getType());
+ logger.info("Created metadata: name: {}, type: {}, user: {}", name, metadata.getType(), userName);
- metadataSolrDao.addDocs(solrInputDoc);
return solrInputDoc;
}
diff --git a/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/MetadataResource.java b/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/MetadataResource.java
index c91abbc..17103cc 100644
--- a/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/MetadataResource.java
+++ b/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/MetadataResource.java
@@ -19,13 +19,6 @@
package org.apache.ambari.logsearch.rest;
-import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.DELETE_METADATA_OD;
-import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.DELETE_METADATA_LIST_OD;
-import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.GET_METADATA_OD;
-import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.GET_METADATA_LIST_OD;
-import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.SAVE_METADATA_LIST_OD;
-import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.SAVE_METADATA_OD;
-
import java.util.Collection;
import javax.inject.Inject;
@@ -36,7 +29,6 @@ import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import org.apache.ambari.logsearch.manager.MetadataManager;
@@ -48,6 +40,13 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Authorization;
+import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.DELETE_METADATA_OD;
+import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.DELETE_METADATA_LIST_OD;
+import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.GET_METADATA_OD;
+import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.GET_METADATA_LIST_OD;
+import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.SAVE_METADATA_LIST_OD;
+import static org.apache.ambari.logsearch.doc.DocConstants.MetadataOperationDescriptions.SAVE_METADATA_OD;
+
@Api(value = "metadata", description = "Log Search metadata operations", authorizations = {@Authorization(value = "basicAuth")})
@Path("metadata")
@Named