diff --git a/ambari-infra/ambari-infra-assembly/pom.xml b/ambari-infra/ambari-infra-assembly/pom.xml index fb915529b8c..fb039944737 100644 --- a/ambari-infra/ambari-infra-assembly/pom.xml +++ b/ambari-infra/ambari-infra-assembly/pom.xml @@ -42,6 +42,9 @@ ${project.basedir}/../ambari-infra-manager ${mapping.base.path}/${infra-manager.package.name} ${infra-manager.mapping.path}/conf + http://central.maven.org/maven2/commons-fileupload/commons-fileupload/1.3.3/commons-fileupload-1.3.3.jar + commons-fileupload-1.3.3.jar + commons-fileupload-1.3.2.jar @@ -185,6 +188,12 @@ + + + + + @@ -370,6 +379,12 @@ + + + + + diff --git a/ambari-infra/ambari-infra-manager/pom.xml b/ambari-infra/ambari-infra-manager/pom.xml index 5af84e64b24..fa7de961fcc 100644 --- a/ambari-infra/ambari-infra-manager/pom.xml +++ b/ambari-infra/ambari-infra-manager/pom.xml @@ -34,11 +34,11 @@ 4.2.3.RELEASE 2.0.4.RELEASE 2.25.1 - 9.4.6.v20170531 + 9.4.8.v20171121 3.0.7.RELEASE 3.8.11.2 2.0.2.RELEASE - 1.5.6.RELEASE + 1.5.10.RELEASE 1.5.16 0.6.0 diff --git a/ambari-infra/ambari-infra-solr-client/pom.xml b/ambari-infra/ambari-infra-solr-client/pom.xml index cd77d771f44..a4abc9aaf73 100644 --- a/ambari-infra/ambari-infra-solr-client/pom.xml +++ b/ambari-infra/ambari-infra-solr-client/pom.xml @@ -56,7 +56,6 @@ org.apache.zookeeper zookeeper - 3.4.9 commons-cli diff --git a/ambari-infra/pom.xml b/ambari-infra/pom.xml index 83a5dcc54bd..e18fe2f0280 100644 --- a/ambari-infra/pom.xml +++ b/ambari-infra/pom.xml @@ -254,6 +254,21 @@ commons-lang 2.5 + + commons-fileupload + commons-fileupload + 1.3.3 + + + commons-collections + commons-collections + 3.2.2 + + + org.apache.zookeeper + zookeeper + 3.4.10 + diff --git a/ambari-logsearch/ambari-logsearch-config-zookeeper/pom.xml b/ambari-logsearch/ambari-logsearch-config-zookeeper/pom.xml index 4e9964c66a6..c6eb4152d00 100644 --- a/ambari-logsearch/ambari-logsearch-config-zookeeper/pom.xml +++ b/ambari-logsearch/ambari-logsearch-config-zookeeper/pom.xml @@ -48,7 +48,7 @@ commons-collections commons-collections - 3.2.1 + 3.2.2 org.apache.zookeeper diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml index 72b51851ce3..884f49f8d73 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml +++ b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml @@ -34,7 +34,7 @@ UTF-8 4.3.10.RELEASE - 1.5.6.RELEASE + 1.5.10.RELEASE @@ -139,6 +139,14 @@ hadoop-common ${hadoop.version} + + com.fasterxml.woodstox + woodstox-core + + + commons-httpclient + commons-httpclient + slf4j-log4j12 org.slf4j @@ -163,7 +171,7 @@ org.apache.hadoop - hadoop-hdfs + hadoop-hdfs-client ${hadoop.version} @@ -202,6 +210,11 @@ spring-boot-configuration-processor ${spring-boot.version} + + io.netty + netty-all + 4.0.37.Final + commons-beanutils diff --git a/ambari-logsearch/ambari-logsearch-server/pom.xml b/ambari-logsearch/ambari-logsearch-server/pom.xml index 92a28634212..5730f80c10a 100755 --- a/ambari-logsearch/ambari-logsearch-server/pom.xml +++ b/ambari-logsearch/ambari-logsearch-server/pom.xml @@ -31,11 +31,11 @@ 4.2.3.RELEASE 2.0.4.RELEASE 2.25.1 - 9.4.6.v20170531 + 9.4.8.v20171121 1.5.16 2.0.2.RELEASE 0.6.0 - 1.5.6.RELEASE + 1.5.10.RELEASE @@ -328,62 +328,8 @@ org.apache.hadoop - hadoop-common - 2.7.0 - - - javax.servlet - servlet-api - - - org.mortbay.jetty - jetty - - - org.mortbay.jetty - jetty-util - - - com.sun.jersey - jetty-util - - - com.sun.jersey - jersey-core - - - com.sun.jersey - jersey-json - - - com.sun.jersey - jersey-server - - - org.apache.curator - curator-framework - - - org.apache.curator - curator-client - - - org.apache.curator - curator-recipes - - - guava - com.google.guava - - - jdk.tools - jdk.tools - - - javax.servlet.jsp - jsp-api - - + hadoop-auth + 3.0.0 commons-io @@ -405,6 +351,26 @@ ambari-logsearch-logfeeder ${project.version} + + org.codehaus.jackson + jackson-core-asl + + + org.codehaus.jackson + jackson-mapper-asl + + + org.apache.ambari + ambari-metrics-common + + + com.fasterxml.woodstox + woodstox-core + + + javax.servlet.jsp + jsp-api + com.sun.jersey jetty-util @@ -421,6 +387,10 @@ com.sun.jersey jersey-server + + org.eclipse.jetty + jetty-server + javax.servlet servlet-api @@ -435,11 +405,6 @@ - - org.apache.ambari - ambari-metrics-common - ${project.version} - commons-cli commons-cli @@ -521,6 +486,19 @@ ambari-logsearch-web ${project.version} + + commons-fileupload + commons-fileupload + 1.3.3 + + + com.fasterxml.jackson.core + jackson-databind + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + org.springframework.boot diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java index c6a1379221b..76d43e5fe92 100644 --- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java +++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java @@ -26,7 +26,7 @@ import org.apache.ambari.logsearch.conf.AuthPropsConfig; import org.apache.ambari.logsearch.configurer.SslConfigurer; -import org.apache.commons.httpclient.auth.InvalidCredentialsException; +import org.apache.http.auth.InvalidCredentialsException; import org.apache.log4j.Logger; import org.glassfish.jersey.client.JerseyClient; import org.glassfish.jersey.client.JerseyClientBuilder; diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java index 4dc3dc5b76e..1621284d18e 100644 --- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java +++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java @@ -25,7 +25,6 @@ import org.apache.ambari.logsearch.handler.CreateCollectionHandler; import org.apache.ambari.logsearch.handler.ListCollectionHandler; import org.apache.ambari.logsearch.handler.ReloadCollectionHandler; -import org.apache.ambari.logsearch.handler.UpgradeSchemaHandler; import org.apache.ambari.logsearch.handler.UploadConfigurationHandler; import org.apache.commons.lang.StringUtils; import org.apache.solr.client.solrj.impl.CloudSolrClient; @@ -107,8 +106,7 @@ private boolean uploadConfigurationsIfNeeded(CloudSolrClient cloudSolrClient, Fi if (!state.isConfigurationUploaded()) { state.setConfigurationUploaded(true); } - boolean upgradeSchema = new UpgradeSchemaHandler(cloudSolrClient, configSetFolder).handle(cloudSolrClient, solrPropsConfig); - return reloadCollectionNeeded || upgradeSchema; + return reloadCollectionNeeded; } public boolean stopSetupCondition(SolrCollectionState state) { diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/UpgradeSchemaHandler.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/UpgradeSchemaHandler.java deleted file mode 100644 index 0da21252c35..00000000000 --- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/UpgradeSchemaHandler.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * 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. - */ -package org.apache.ambari.logsearch.handler; - -import org.apache.ambari.logsearch.conf.SolrPropsConfig; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.configuration.HierarchicalConfiguration.Node; -import org.apache.commons.configuration.XMLConfiguration; -import org.apache.solr.client.solrj.SolrServerException; -import org.apache.solr.client.solrj.impl.CloudSolrClient; -import org.apache.solr.client.solrj.request.schema.SchemaRequest; -import org.apache.solr.common.cloud.SolrZkClient; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class UpgradeSchemaHandler extends AbstractSolrConfigHandler { - - private static final Logger LOG = LoggerFactory.getLogger(UpgradeSchemaHandler.class); - - private static final String SCHEMA_FILE = "managed-schema"; - private static final String FIELD_NAME_PATH = "field[@name]"; - private static final String FIELD_TYPE_NAME_PATH = "fieldType[@name]"; - private static final String DYNAMIC_FIELD = "dynamicField"; - private static final String DYNAMIC_FIELD_NAME_PATH = DYNAMIC_FIELD + "[@name]"; - - private CloudSolrClient cloudSolrClient; - - private XMLConfiguration localFileXml; - private List localDynamicFields; - - public UpgradeSchemaHandler(CloudSolrClient cloudSolrClient, File configSetFolder) { - super(configSetFolder); - this.cloudSolrClient = cloudSolrClient; - } - - @Override - public boolean updateConfigIfNeeded(SolrPropsConfig solrPropsConfig, SolrZkClient zkClient, File file, String separator, String downloadFolderLocation) throws IOException { - boolean result = false; - if (localSchemaFileHasMoreFields(file, new File(String.format("%s%s%s", downloadFolderLocation, separator, file.getName())))) { - LOG.info("Solr schema file differs ('{}'), update config schema...", file.getName()); - try { - upgradeDynamicFields(); - } catch (Exception e) { - throw new RuntimeException(e); - } - result = true; - } - return result; - } - - // for now we only upgrades dynamic fields, later we can extend this feature if needed - private void upgradeDynamicFields() throws IOException, SolrServerException { - if (localFileXml.getRoot() != null && CollectionUtils.isNotEmpty(localDynamicFields)) { - List children = localFileXml.getRoot().getChildren(DYNAMIC_FIELD); - for (Node dynamicFieldNode : children) { - List attributes = dynamicFieldNode.getAttributes(); - Map attributesMap = new HashMap<>(); - for (Node attribute : attributes) { - attributesMap.put(attribute.getName(), attribute.getValue()); - } - if (attributesMap.get("name") != null && localDynamicFields.contains(attributesMap.get("name").toString())) { - SchemaRequest.AddDynamicField addDynamicFieldRequest = new SchemaRequest.AddDynamicField(attributesMap); - addDynamicFieldRequest.process(cloudSolrClient); - LOG.info("Added dynamic field request sent. (field name: {})", attributesMap.get("name")); - } - } - } - } - - @Override - public String getConfigFileName() { - return SCHEMA_FILE; - } - - private boolean localSchemaFileHasMoreFields(File localFile, File downloadedFile) { - try { - localFileXml = new XMLConfiguration(localFile); - XMLConfiguration downloadedFileXml = new XMLConfiguration(downloadedFile); - - List localFieldNames = (ArrayList) localFileXml.getProperty(FIELD_NAME_PATH); - List localFieldTypes = (ArrayList) localFileXml.getProperty(FIELD_TYPE_NAME_PATH); - localDynamicFields = (ArrayList) localFileXml.getProperty(DYNAMIC_FIELD_NAME_PATH); - - List fieldNames = (ArrayList) downloadedFileXml.getProperty(FIELD_NAME_PATH); - List fieldTypes = (ArrayList) downloadedFileXml.getProperty(FIELD_TYPE_NAME_PATH); - List dynamicFields = (ArrayList) downloadedFileXml.getProperty(DYNAMIC_FIELD_NAME_PATH); - - boolean fieldNameHasDiff = hasMoreFields(localFieldNames, fieldNames, FIELD_NAME_PATH); - boolean fieldTypeHasDiff = hasMoreFields(localFieldTypes, fieldTypes, FIELD_TYPE_NAME_PATH); - boolean dynamicFieldNameHasDiff = hasMoreFields(localDynamicFields, dynamicFields, DYNAMIC_FIELD_NAME_PATH); - - return fieldNameHasDiff || fieldTypeHasDiff || dynamicFieldNameHasDiff; - } catch (Exception e) { - throw new RuntimeException("Exception during schema xml parsing.", e); - } - } - - private boolean hasMoreFields(List localFields, List fields, String tag) { - boolean result = false; - if (localFields != null) { - if (fields == null) { - result = true; - } else { - localFields.removeAll(fields); - if (!localFields.isEmpty()) { - result = true; - } - } - } - if (result) { - LOG.info("Found new fields or field types in local schema file.: {} ({})", localFields.toString(), tag); - } - return result; - } - -} diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java index d08c0f49b3d..a8d5a57d08f 100644 --- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java +++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java @@ -27,13 +27,13 @@ import java.util.List; import java.util.Map; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.ambari.logsearch.common.MessageEnums; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.codehaus.jackson.JsonParseException; -import org.codehaus.jackson.map.JsonMappingException; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.type.TypeReference; import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKrbFilter.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKrbFilter.java index b4c68fbce5d..3677d112345 100644 --- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKrbFilter.java +++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKrbFilter.java @@ -27,8 +27,6 @@ import org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler; import org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler; import org.apache.hadoop.security.authentication.util.*; -import org.apache.hadoop.classification.InterfaceAudience; -import org.apache.hadoop.classification.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -51,8 +49,6 @@ import static org.apache.ambari.logsearch.common.LogSearchConstants.LOGSEARCH_SESSION_ID; -@InterfaceAudience.Private -@InterfaceStability.Unstable public class LogsearchKrbFilter implements Filter { private static Logger logger = LoggerFactory.getLogger(LogsearchKrbFilter.class); diff --git a/ambari-logsearch/pom.xml b/ambari-logsearch/pom.xml index 5b19a11c375..27eeff935d0 100644 --- a/ambari-logsearch/pom.xml +++ b/ambari-logsearch/pom.xml @@ -42,7 +42,7 @@ amd64 ${deb.python.ver} 7.2.1 - 2.7.2 + 3.0.0 2.5 4 false @@ -248,6 +248,37 @@ junit 4.10 + + commons-fileupload + commons-fileupload + 1.3.3 + + + com.fasterxml.jackson.core + jackson-databind + 2.9.4 + + + com.fasterxml.jackson.core + jackson-annotations + 2.9.4 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.9.4 + + + com.fasterxml.woodstox + woodstox-core + + + + + io.netty + netty + 3.10.5.Final +