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
+