This is an automated email from the ASF dual-hosted git repository.
sunchao pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/branch-2.3 by this push:
new d9e96c96a09 HIVE-27580: Backport HIVE-20071: Migrate to jackson 2.x
and prevent usage (#4564)
d9e96c96a09 is described below
commit d9e96c96a09398d79d9f866b914d994403f4928a
Author: Yuming Wang <[email protected]>
AuthorDate: Wed Aug 30 23:38:28 2023 +0800
HIVE-27580: Backport HIVE-20071: Migrate to jackson 2.x and prevent usage
(#4564)
* HIVE-20071: Migrate to jackson 2.x and prevent usage (#2464) (Zoltan
Haindrich reviewed by Krisztian Kasa)
* HIVE-22059: hive-exec jar doesn't contain (fasterxml) jackson library
---------
Co-authored-by: Zoltan Haindrich <[email protected]>
---
.../hadoop/hive/common/jsonexplain/tez/Vertex.java | 23 +++--------------
.../java/org/apache/hive/http/JMXJsonServlet.java | 29 +++++++++++-----------
.../org/apache/hive/hcatalog/data/JsonSerDe.java | 10 +++++---
.../messaging/json/JSONAddPartitionMessage.java | 2 +-
.../messaging/json/JSONAlterIndexMessage.java | 2 +-
.../messaging/json/JSONAlterPartitionMessage.java | 2 +-
.../messaging/json/JSONAlterTableMessage.java | 2 +-
.../messaging/json/JSONCreateDatabaseMessage.java | 2 +-
.../messaging/json/JSONCreateFunctionMessage.java | 2 +-
.../messaging/json/JSONCreateIndexMessage.java | 2 +-
.../messaging/json/JSONCreateTableMessage.java | 2 +-
.../messaging/json/JSONDropDatabaseMessage.java | 2 +-
.../messaging/json/JSONDropFunctionMessage.java | 2 +-
.../messaging/json/JSONDropIndexMessage.java | 2 +-
.../messaging/json/JSONDropPartitionMessage.java | 2 +-
.../messaging/json/JSONDropTableMessage.java | 2 +-
.../hcatalog/messaging/json/JSONInsertMessage.java | 2 +-
.../messaging/json/JSONMessageDeserializer.java | 7 +++---
.../hive/hcatalog/templeton/JsonBuilder.java | 12 ++++++---
.../hcatalog/templeton/SimpleWebException.java | 5 ++--
.../apache/hive/hcatalog/templeton/TestDesc.java | 2 +-
.../hive/hcatalog/templeton/TestWebHCatE2e.java | 7 +++---
.../hive/llap/cli/LlapStatusServiceDriver.java | 14 +++++------
.../llap/daemon/services/impl/LlapWebServices.java | 7 +++---
.../hive/metastore/messaging/PartitionFiles.java | 2 +-
.../messaging/json/JSONAddPartitionMessage.java | 2 +-
.../messaging/json/JSONAlterIndexMessage.java | 2 +-
.../messaging/json/JSONAlterPartitionMessage.java | 2 +-
.../messaging/json/JSONAlterTableMessage.java | 2 +-
.../messaging/json/JSONCreateDatabaseMessage.java | 2 +-
.../messaging/json/JSONCreateFunctionMessage.java | 2 +-
.../messaging/json/JSONCreateIndexMessage.java | 2 +-
.../messaging/json/JSONCreateTableMessage.java | 2 +-
.../messaging/json/JSONDropDatabaseMessage.java | 2 +-
.../messaging/json/JSONDropFunctionMessage.java | 2 +-
.../messaging/json/JSONDropIndexMessage.java | 2 +-
.../messaging/json/JSONDropPartitionMessage.java | 2 +-
.../messaging/json/JSONDropTableMessage.java | 2 +-
.../messaging/json/JSONInsertMessage.java | 2 +-
.../messaging/json/JSONMessageDeserializer.java | 15 +++++------
.../messaging/json/JSONMessageFactory.java | 10 ++++----
.../json/JSONMessageDeserializerTest.java | 2 +-
ql/pom.xml | 19 ++++++++++++++
.../org/apache/hadoop/hive/ql/QueryDisplay.java | 11 +++++---
.../metadata/formatting/JsonMetaDataFormatter.java | 2 +-
.../org/apache/hadoop/hive/ql/parse/EximUtil.java | 4 +--
.../org/apache/hadoop/hive/ql/udf/UDFJson.java | 26 +++++++++----------
.../hive/ql/udf/generic/GenericUDTFJSONTuple.java | 20 +++++++--------
.../hadoop/hive/serde2/avro/TypeInfoToSchema.java | 2 --
.../hive/service/cli/operation/SQLOperation.java | 6 ++---
.../apache/hive/service/cli/CLIServiceTest.java | 4 +--
51 files changed, 155 insertions(+), 140 deletions(-)
diff --git
a/common/src/java/org/apache/hadoop/hive/common/jsonexplain/tez/Vertex.java
b/common/src/java/org/apache/hadoop/hive/common/jsonexplain/tez/Vertex.java
index 3d559bdcf0e..bd9b18a66e7 100644
--- a/common/src/java/org/apache/hadoop/hive/common/jsonexplain/tez/Vertex.java
+++ b/common/src/java/org/apache/hadoop/hive/common/jsonexplain/tez/Vertex.java
@@ -18,19 +18,13 @@
package org.apache.hadoop.hive.common.jsonexplain.tez;
-import java.io.IOException;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.TreeMap;
import org.apache.hadoop.hive.common.jsonexplain.tez.Op.OpType;
-import org.apache.hadoop.util.hash.Hash;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.JsonMappingException;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -98,16 +92,11 @@ public final class Vertex implements Comparable<Vertex>{
}
/**
- * @throws JSONException
- * @throws JsonParseException
- * @throws JsonMappingException
- * @throws IOException
* @throws Exception
* We assume that there is a single top-level Map Operator Tree or
a
* Reduce Operator Tree in a vertex
*/
- public void extractOpTree() throws JSONException, JsonParseException,
JsonMappingException,
- IOException, Exception {
+ public void extractOpTree() throws Exception {
if (vertexObject.length() != 0) {
for (String key : JSONObject.getNames(vertexObject)) {
if (key.equals("Map Operator Tree:")) {
@@ -152,16 +141,11 @@ public final class Vertex implements Comparable<Vertex>{
* @param operator
* @param parent
* @return
- * @throws JSONException
- * @throws JsonParseException
- * @throws JsonMappingException
- * @throws IOException
* @throws Exception
* assumption: each operator only has one parent but may have many
* children
*/
- Op extractOp(JSONObject operator) throws JSONException, JsonParseException,
JsonMappingException,
- IOException, Exception {
+ Op extractOp(JSONObject operator) throws Exception {
String[] names = JSONObject.getNames(operator);
if (names.length != 1) {
throw new Exception("Expect only one operator in " +
operator.toString());
@@ -214,8 +198,7 @@ public final class Vertex implements Comparable<Vertex>{
}
}
- public void print(Printer printer, int indentFlag, String type, Vertex
callingVertex)
- throws JSONException, Exception {
+ public void print(Printer printer, int indentFlag, String type, Vertex
callingVertex) throws Exception {
// print vertexname
if (parser.printSet.contains(this) && !hasMultiReduceOp) {
if (type != null) {
diff --git a/common/src/java/org/apache/hive/http/JMXJsonServlet.java
b/common/src/java/org/apache/hive/http/JMXJsonServlet.java
index 7535b269290..6cf08566f27 100644
--- a/common/src/java/org/apache/hive/http/JMXJsonServlet.java
+++ b/common/src/java/org/apache/hive/http/JMXJsonServlet.java
@@ -46,8 +46,9 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
+
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
/*
* This servlet is based off of the JMXProxyServlet from Tomcat 7.0.14. It has
@@ -72,7 +73,7 @@ import org.codehaus.jackson.JsonGenerator;
* attribute of a JMX bean. The format of the URL is
* <code>http://.../jmx?get=MXBeanName::AttributeName<code>
* <p>
- * For example
+ * For example
* <code>
* http://../jmx?get=Hadoop:service=NameNode,name=NameNodeInfo::ClusterId
* </code> will return the cluster id of the namenode mxbean.
@@ -98,23 +99,23 @@ import org.codehaus.jackson.JsonGenerator;
* <p>
* The servlet attempts to convert the JMXBeans into JSON. Each
* bean's attributes will be converted to a JSON object member.
- *
+ *
* If the attribute is a boolean, a number, a string, or an array
- * it will be converted to the JSON equivalent.
- *
+ * it will be converted to the JSON equivalent.
+ *
* If the value is a {@link CompositeData} then it will be converted
* to a JSON object with the keys as the name of the JSON member and
* the value is converted following these same rules.
- *
+ *
* If the value is a {@link TabularData} then it will be converted
* to an array of the {@link CompositeData} elements that it contains.
- *
+ *
* All other objects will be converted to a string and output as such.
- *
+ *
* The bean's name and modelerType will be returned for all beans.
*
* Optional paramater "callback" should be used to deliver JSONP response.
- *
+ *
*/
public class JMXJsonServlet extends HttpServlet {
private static final Log LOG = LogFactory.getLog(JMXJsonServlet.class);
@@ -144,7 +145,7 @@ public class JMXJsonServlet extends HttpServlet {
/**
* Process a GET request for the specified resource.
- *
+ *
* @param request
* The servlet request we are processing
* @param response
@@ -210,8 +211,8 @@ public class JMXJsonServlet extends HttpServlet {
}
// --------------------------------------------------------- Private Methods
- private void listBeans(JsonGenerator jg, ObjectName qry, String attribute,
- HttpServletResponse response)
+ private void listBeans(JsonGenerator jg, ObjectName qry, String attribute,
+ HttpServletResponse response)
throws IOException {
LOG.debug("Listing beans for "+qry);
Set<ObjectName> names = null;
@@ -255,7 +256,7 @@ public class JMXJsonServlet extends HttpServlet {
+ " threw an exception", e);
} catch ( ReflectionException e ) {
// This happens when the code inside the JMX bean (setter?? from the
- // java docs) threw an exception, so log it and fall back on the
+ // java docs) threw an exception, so log it and fall back on the
// class name
LOG.error("getting attribute " + prs + " of " + oname
+ " threw an exception", e);
diff --git
a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/JsonSerDe.java
b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/JsonSerDe.java
index 831e857b0de..4feb23b2a4b 100644
--- a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/JsonSerDe.java
+++ b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/JsonSerDe.java
@@ -78,13 +78,15 @@ import org.apache.hive.hcatalog.data.schema.HCatFieldSchema;
import org.apache.hive.hcatalog.data.schema.HCatFieldSchema.Type;
import org.apache.hive.hcatalog.data.schema.HCatSchema;
import org.apache.hive.hcatalog.data.schema.HCatSchemaUtils;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.JsonToken;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+
@SerDeSpec(schemaProps = {serdeConstants.LIST_COLUMNS,
serdeConstants.LIST_COLUMN_TYPES,
serdeConstants.TIMESTAMP_FORMATS})
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAddPartitionMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAddPartitionMessage.java
index ac7dcd91949..7fe1063f40f 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAddPartitionMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAddPartitionMessage.java
@@ -20,7 +20,7 @@
package org.apache.hive.hcatalog.messaging.json;
import org.apache.hive.hcatalog.messaging.AddPartitionMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import java.util.Map;
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
index 25b0987dc4c..55ab3cbfe06 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
@@ -23,7 +23,7 @@ import org.apache.hadoop.hive.metastore.api.Index;
import org.apache.hive.hcatalog.messaging.AlterIndexMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of AlterIndexMessage.
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterPartitionMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterPartitionMessage.java
index 4f1d1045263..ce4179f2c6d 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterPartitionMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterPartitionMessage.java
@@ -22,7 +22,7 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hive.hcatalog.common.HCatConstants;
import org.apache.hive.hcatalog.messaging.AlterPartitionMessage;
import org.apache.hive.hcatalog.messaging.AlterTableMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.List;
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterTableMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterTableMessage.java
index b057d4aa72d..edcf96b24b6 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterTableMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterTableMessage.java
@@ -21,7 +21,7 @@ package org.apache.hive.hcatalog.messaging.json;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hive.hcatalog.common.HCatConstants;
import org.apache.hive.hcatalog.messaging.AlterTableMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.List;
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateDatabaseMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateDatabaseMessage.java
index 6db46cf773a..e4edae37a93 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateDatabaseMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateDatabaseMessage.java
@@ -20,7 +20,7 @@
package org.apache.hive.hcatalog.messaging.json;
import org.apache.hive.hcatalog.messaging.CreateDatabaseMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of CreateDatabaseMessage.
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateFunctionMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateFunctionMessage.java
index fb883fc8986..8836a9b42fe 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateFunctionMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateFunctionMessage.java
@@ -22,7 +22,7 @@ package org.apache.hive.hcatalog.messaging.json;
import org.apache.hadoop.hive.metastore.api.Function;
import org.apache.hive.hcatalog.messaging.CreateFunctionMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of CreateFunctionMessage.
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
index 8d83149c48b..8d3ed43f6a2 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
@@ -22,7 +22,7 @@ package org.apache.hive.hcatalog.messaging.json;
import org.apache.hadoop.hive.metastore.api.Index;
import org.apache.hive.hcatalog.messaging.CreateIndexMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of CreateIndexMessage.
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateTableMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateTableMessage.java
index 9c667300e00..bd3d7b5e61a 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateTableMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateTableMessage.java
@@ -20,7 +20,7 @@
package org.apache.hive.hcatalog.messaging.json;
import org.apache.hive.hcatalog.messaging.CreateTableMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON implementation of CreateTableMessage.
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropDatabaseMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropDatabaseMessage.java
index bfe3f631eab..33e4a7cee0b 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropDatabaseMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropDatabaseMessage.java
@@ -20,7 +20,7 @@
package org.apache.hive.hcatalog.messaging.json;
import org.apache.hive.hcatalog.messaging.DropDatabaseMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON implementation of DropDatabaseMessage.
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropFunctionMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropFunctionMessage.java
index 334e36f7c4d..b6ca5a26ecc 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropFunctionMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropFunctionMessage.java
@@ -22,7 +22,7 @@ package org.apache.hive.hcatalog.messaging.json;
import org.apache.hadoop.hive.metastore.api.Function;
import org.apache.hive.hcatalog.messaging.DropFunctionMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of CreateDatabaseMessage.
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
index bacaa1dde54..c8d750373b8 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
@@ -22,7 +22,7 @@ package org.apache.hive.hcatalog.messaging.json;
import org.apache.hadoop.hive.metastore.api.Index;
import org.apache.hive.hcatalog.messaging.DropIndexMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of DropIndexMessage.
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropPartitionMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropPartitionMessage.java
index a4d64009248..56ddb6a9671 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropPartitionMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropPartitionMessage.java
@@ -20,7 +20,7 @@
package org.apache.hive.hcatalog.messaging.json;
import org.apache.hive.hcatalog.messaging.DropPartitionMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import java.util.Map;
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropTableMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropTableMessage.java
index 3b6202385e0..718a3c930f9 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropTableMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropTableMessage.java
@@ -20,7 +20,7 @@
package org.apache.hive.hcatalog.messaging.json;
import org.apache.hive.hcatalog.messaging.DropTableMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON implementation of DropTableMessage.
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONInsertMessage.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONInsertMessage.java
index 8a4db151491..b953e1f1476 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONInsertMessage.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONInsertMessage.java
@@ -20,7 +20,7 @@
package org.apache.hive.hcatalog.messaging.json;
import org.apache.hive.hcatalog.messaging.InsertMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import java.util.Map;
diff --git
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
index bd45d09eb0e..a5ecaa0d35b 100644
---
a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
+++
b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
@@ -34,8 +34,9 @@ import
org.apache.hive.hcatalog.messaging.DropPartitionMessage;
import org.apache.hive.hcatalog.messaging.DropTableMessage;
import org.apache.hive.hcatalog.messaging.InsertMessage;
import org.apache.hive.hcatalog.messaging.MessageDeserializer;
-import org.codehaus.jackson.map.DeserializationConfig;
-import org.codehaus.jackson.map.ObjectMapper;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
/**
* MessageDeserializer implementation, for deserializing from JSON strings.
@@ -45,7 +46,7 @@ public class JSONMessageDeserializer extends
MessageDeserializer {
static ObjectMapper mapper = new ObjectMapper(); // Thread-safe.
static {
- mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES,
false);
+ mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
}
@Override
diff --git
a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/JsonBuilder.java
b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/JsonBuilder.java
index cb425b777f1..67904358b3b 100644
---
a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/JsonBuilder.java
+++
b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/JsonBuilder.java
@@ -27,9 +27,10 @@ import javax.ws.rs.core.Response;
import org.apache.hadoop.hive.ql.ErrorMsg;
import org.apache.hive.hcatalog.templeton.tool.TempletonUtils;
-import org.codehaus.jackson.map.ObjectMapper;
import org.eclipse.jetty.http.HttpStatus;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
/**
* Helper class to build new json objects with new top level
* properties. Only add non-null entries.
@@ -93,8 +94,9 @@ public class JsonBuilder {
* Add a non-null value to the map.
*/
public JsonBuilder put(String name, Object val) {
- if (val != null)
+ if (val != null) {
map.put(name, val);
+ }
return this;
}
@@ -134,7 +136,9 @@ public class JsonBuilder {
public Response buildResponse() {
int status = HttpStatus.OK_200; // Server ok.
if (map.containsKey("error"))
+ {
status = HttpStatus.INTERNAL_SERVER_ERROR_500; // Generic http server
error.
+ }
Object o = map.get("errorCode");
if (o != null) {
if(hiveError2HttpStatusCode.containsKey(o)) {
@@ -173,9 +177,9 @@ public class JsonBuilder {
*/
public static Map jsonToMap(String json)
throws IOException {
- if (!TempletonUtils.isset(json))
+ if (!TempletonUtils.isset(json)) {
return new HashMap<String, Object>();
- else {
+ } else {
ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(json, Map.class);
}
diff --git
a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/SimpleWebException.java
b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/SimpleWebException.java
index 9638e11bf8c..4ef3a2cb913 100644
---
a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/SimpleWebException.java
+++
b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/SimpleWebException.java
@@ -24,7 +24,7 @@ import java.util.HashMap;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
/**
* Simple exception that will return a json error payload if thrown
@@ -55,8 +55,9 @@ public class SimpleWebException extends Exception {
String msg) {
HashMap<String, Object> err = new HashMap<String, Object>();
err.put("error", msg);
- if (params != null)
+ if (params != null) {
err.putAll(params);
+ }
String json = "\"error\"";
try {
diff --git
a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestDesc.java
b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestDesc.java
index 653cd04f9b6..f2faf76101e 100644
---
a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestDesc.java
+++
b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestDesc.java
@@ -24,7 +24,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
/**
* TestDesc - Test the desc objects that are correctly converted to
diff --git
a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestWebHCatE2e.java
b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestWebHCatE2e.java
index 841e2ffa0ed..4ae5a0faee7 100644
---
a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestWebHCatE2e.java
+++
b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestWebHCatE2e.java
@@ -27,8 +27,6 @@ import org.apache.commons.httpclient.methods.PutMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.hadoop.hive.metastore.MetaStoreUtils;
import org.apache.hadoop.hive.ql.ErrorMsg;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Ignore;
@@ -37,6 +35,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.eclipse.jetty.http.HttpStatus;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
@@ -274,7 +275,7 @@ public class TestWebHCatE2e {
Assert.assertEquals(HttpStatus.NOT_IMPLEMENTED_501, p.httpStatusCode);
Map<String, Object> props = JsonBuilder.jsonToMap(p.responseBody);
Assert.assertEquals(p.getAssertMsg(), "Pig version request not yet " +
- "implemented", (String)props.get("error"));
+ "implemented", props.get("error"));
}
/**
diff --git
a/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapStatusServiceDriver.java
b/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapStatusServiceDriver.java
index b36d4ff7663..dee90ae7001 100644
---
a/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapStatusServiceDriver.java
+++
b/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapStatusServiceDriver.java
@@ -34,6 +34,10 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.conf.Configuration;
@@ -54,10 +58,6 @@ import org.apache.slider.api.ClusterDescriptionKeys;
import org.apache.slider.api.StatusKeys;
import org.apache.slider.client.SliderClient;
import org.apache.slider.core.exceptions.SliderException;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -270,9 +270,9 @@ public class LlapStatusServiceDriver {
public void outputJson(PrintWriter writer) throws LlapStatusCliException {
ObjectMapper mapper = new ObjectMapper();
- mapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, false);
- mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
- mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_EMPTY);
+ mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
+ mapper.setSerializationInclusion(Include.NON_NULL);
+ mapper.setSerializationInclusion(Include.NON_EMPTY);
try {
writer.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(appStatusBuilder));
} catch (IOException e) {
diff --git
a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/services/impl/LlapWebServices.java
b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/services/impl/LlapWebServices.java
index 028daa129aa..5fc7e8945c7 100644
---
a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/services/impl/LlapWebServices.java
+++
b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/services/impl/LlapWebServices.java
@@ -42,11 +42,12 @@ import org.apache.hadoop.service.CompositeService;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hive.common.util.HiveVersionInfo;
import org.apache.hive.http.HttpServer;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
+
public class LlapWebServices extends AbstractService {
private static final Logger LOG =
LoggerFactory.getLogger(LlapWebServices.class);
@@ -200,7 +201,7 @@ public class LlapWebServices extends AbstractService {
public void init() throws ServletException {
jsonFactory = new JsonFactory();
}
-
+
@Override
public void doGet(HttpServletRequest request, HttpServletResponse
response) {
JsonGenerator jg = null;
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/PartitionFiles.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/PartitionFiles.java
index 4fd7f8c57b9..071c8dcdd64 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/PartitionFiles.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/PartitionFiles.java
@@ -22,7 +22,7 @@ import java.util.Iterator;
import java.util.List;
import com.google.common.collect.Lists;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
public class PartitionFiles {
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java
index a48820569cf..c92dd2ef874 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java
@@ -28,7 +28,7 @@ import org.apache.hadoop.hive.metastore.api.Table;
import org.apache.hadoop.hive.metastore.messaging.AddPartitionMessage;
import org.apache.hadoop.hive.metastore.messaging.PartitionFiles;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import javax.annotation.Nullable;
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterIndexMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterIndexMessage.java
index 5dffdd10432..30fd6830f4f 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterIndexMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterIndexMessage.java
@@ -22,7 +22,7 @@ package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.api.Index;
import org.apache.hadoop.hive.metastore.messaging.AlterIndexMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of AlterIndexMessage.
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterPartitionMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterPartitionMessage.java
index dd1bf3c5c31..648988891ba 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterPartitionMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterPartitionMessage.java
@@ -22,7 +22,7 @@ import org.apache.hadoop.hive.metastore.api.Partition;
import org.apache.hadoop.hive.metastore.api.Table;
import org.apache.hadoop.hive.metastore.messaging.AlterPartitionMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.List;
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterTableMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterTableMessage.java
index 792015ef68f..3c98336aeac 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterTableMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterTableMessage.java
@@ -21,7 +21,7 @@ package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.api.Table;
import org.apache.hadoop.hive.metastore.messaging.AlterTableMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON alter table message
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateDatabaseMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateDatabaseMessage.java
index f8717b24c1b..ea9ef632ace 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateDatabaseMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateDatabaseMessage.java
@@ -20,7 +20,7 @@
package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.messaging.CreateDatabaseMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of CreateDatabaseMessage.
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateFunctionMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateFunctionMessage.java
index 3646d85e837..1b1472c95b8 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateFunctionMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateFunctionMessage.java
@@ -22,7 +22,7 @@ package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.api.Function;
import org.apache.hadoop.hive.metastore.messaging.CreateFunctionMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of CreateFunctionMessage.
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateIndexMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateIndexMessage.java
index a2e2fc02e3b..e52a5487e22 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateIndexMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateIndexMessage.java
@@ -22,7 +22,7 @@ package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.api.Index;
import org.apache.hadoop.hive.metastore.messaging.CreateIndexMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of CreateIndexMessage.
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateTableMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateTableMessage.java
index dbc3dd4b49e..3234bb9ddf7 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateTableMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateTableMessage.java
@@ -25,8 +25,8 @@ import java.util.List;
import org.apache.hadoop.hive.metastore.api.Table;
import org.apache.hadoop.hive.metastore.messaging.CreateTableMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.Lists;
/**
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropDatabaseMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropDatabaseMessage.java
index be17e6d5ac1..eeef80ad884 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropDatabaseMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropDatabaseMessage.java
@@ -20,7 +20,7 @@
package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.messaging.DropDatabaseMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON implementation of DropDatabaseMessage.
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropFunctionMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropFunctionMessage.java
index b9ee4c4dfde..50db57e0b32 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropFunctionMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropFunctionMessage.java
@@ -22,7 +22,7 @@ package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.api.Function;
import org.apache.hadoop.hive.metastore.messaging.DropFunctionMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of CreateDatabaseMessage.
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropIndexMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropIndexMessage.java
index e99a31f68b8..245641ff0aa 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropIndexMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropIndexMessage.java
@@ -22,7 +22,7 @@ package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.api.Index;
import org.apache.hadoop.hive.metastore.messaging.DropIndexMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON Implementation of DropIndexMessage.
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropPartitionMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropPartitionMessage.java
index f1860af191c..b5b2b2dafb1 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropPartitionMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropPartitionMessage.java
@@ -22,7 +22,7 @@ package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.api.Table;
import org.apache.hadoop.hive.metastore.messaging.DropPartitionMessage;
import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import java.util.Map;
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropTableMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropTableMessage.java
index 635ab6133b8..c21f48d3f59 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropTableMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropTableMessage.java
@@ -20,7 +20,7 @@
package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.messaging.DropTableMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON implementation of DropTableMessage.
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONInsertMessage.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONInsertMessage.java
index e1316a47745..a98735564ba 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONInsertMessage.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONInsertMessage.java
@@ -20,8 +20,8 @@
package org.apache.hadoop.hive.metastore.messaging.json;
import org.apache.hadoop.hive.metastore.messaging.InsertMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.Lists;
import java.util.Iterator;
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
index 40ef5fb6fb8..f2645b2e989 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
@@ -34,9 +34,10 @@ import
org.apache.hadoop.hive.metastore.messaging.DropPartitionMessage;
import org.apache.hadoop.hive.metastore.messaging.DropTableMessage;
import org.apache.hadoop.hive.metastore.messaging.InsertMessage;
import org.apache.hadoop.hive.metastore.messaging.MessageDeserializer;
-import org.codehaus.jackson.map.DeserializationConfig;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
+
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
/**
* MessageDeserializer implementation, for deserializing from JSON strings.
@@ -46,10 +47,10 @@ public class JSONMessageDeserializer extends
MessageDeserializer {
static ObjectMapper mapper = new ObjectMapper(); // Thread-safe.
static {
- mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES,
false);
- mapper.configure(SerializationConfig.Feature.AUTO_DETECT_GETTERS, false);
- mapper.configure(SerializationConfig.Feature.AUTO_DETECT_IS_GETTERS,
false);
- mapper.configure(SerializationConfig.Feature.AUTO_DETECT_FIELDS, false);
+ mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ mapper.configure(MapperFeature.AUTO_DETECT_GETTERS, false);
+ mapper.configure(MapperFeature.AUTO_DETECT_IS_GETTERS, false);
+ mapper.configure(MapperFeature.AUTO_DETECT_FIELDS, false);
}
@Override
diff --git
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
index d93a0d30735..34c6c3db170 100644
---
a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
+++
b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
@@ -26,6 +26,11 @@ import java.util.Map;
import javax.annotation.Nullable;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.collect.Iterables;
import org.apache.hadoop.hive.metastore.api.Database;
@@ -57,11 +62,6 @@ import org.apache.thrift.TException;
import org.apache.thrift.TSerializer;
import org.apache.thrift.protocol.TJSONProtocol;
import org.apache.thrift.transport.TTransportException;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.node.ObjectNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git
a/metastore/src/test/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializerTest.java
b/metastore/src/test/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializerTest.java
index c278338c195..565be722bab 100644
---
a/metastore/src/test/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializerTest.java
+++
b/metastore/src/test/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializerTest.java
@@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hive.metastore.messaging.json;
-import org.codehaus.jackson.annotate.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
import org.json.JSONException;
import org.junit.Test;
import org.skyscreamer.jsonassert.JSONAssert;
diff --git a/ql/pom.xml b/ql/pom.xml
index 421124c6a7b..36574a4bc16 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -892,6 +892,9 @@
<include>io.airlift:aircompressor</include>
<include>org.codehaus.jackson:jackson-core-asl</include>
<include>org.codehaus.jackson:jackson-mapper-asl</include>
+ <include>com.fasterxml.jackson.core:jackson-core</include>
+
<include>com.fasterxml.jackson.core:jackson-annotations</include>
+
<include>com.fasterxml.jackson.core:jackson-databind</include>
<include>com.google.guava:guava</include>
<include>net.sf.opencsv:opencsv</include>
<include>org.apache.hive:spark-client</include>
@@ -901,6 +904,10 @@
<include>joda-time:joda-time</include>
<include>org.apache.calcite:*</include>
<include>org.apache.calcite.avatica:avatica</include>
+ <include>io.dropwizard.metrics:metrics-core</include>
+ <include>io.dropwizard.metrics:metrics-jvm</include>
+ <include>io.dropwizard.metrics:metrics-json</include>
+ <include>com.zaxxer:HikariCP</include>
</includes>
</artifactSet>
<relocations>
@@ -912,6 +919,18 @@
<pattern>org.objenesis</pattern>
<shadedPattern>org.apache.hive.org.objenesis</shadedPattern>
</relocation>
+ <relocation>
+ <pattern>com.fasterxml.jackson</pattern>
+
<shadedPattern>org.apache.hive.com.fasterxml.jackson</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>com.codahale.metrics</pattern>
+
<shadedPattern>org.apache.hive.com.codahale.metrics</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>com.zaxxer.hikari</pattern>
+
<shadedPattern>org.apache.hive.com.zaxxer.hikari</shadedPattern>
+ </relocation>
</relocations>
</configuration>
</execution>
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/QueryDisplay.java
b/ql/src/java/org/apache/hadoop/hive/ql/QueryDisplay.java
index 1f2e4c91dd8..8205fbbc853 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/QueryDisplay.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/QueryDisplay.java
@@ -24,9 +24,11 @@ import org.apache.hadoop.hive.ql.plan.api.StageType;
import java.io.Serializable;
import java.util.*;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonWriteNullProperties;
-import org.codehaus.jackson.annotate.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* Some limited query information to save for WebUI.
@@ -60,8 +62,9 @@ public class QueryDisplay {
EXECUTION,
}
- @JsonWriteNullProperties(false)
+ @JsonInclude(Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
+ @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY,
getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility =
JsonAutoDetect.Visibility.NONE)
public static class TaskDisplay {
private Integer returnValue; //if set, determines that task is complete.
diff --git
a/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java
b/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java
index 33158063d9e..c3523f41138 100644
---
a/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java
+++
b/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java
@@ -44,7 +44,7 @@ import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.metadata.Partition;
import org.apache.hadoop.hive.ql.metadata.PrimaryKeyInfo;
import org.apache.hadoop.hive.ql.metadata.Table;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
/**
* Format table and index information for machine readability using
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java
b/ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java
index 21a554593c5..b406538b984 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java
@@ -18,6 +18,8 @@
package org.apache.hadoop.hive.ql.parse;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
import com.google.common.base.Function;
import org.apache.commons.lang.StringUtils;
@@ -43,8 +45,6 @@ import org.apache.thrift.TDeserializer;
import org.apache.thrift.TException;
import org.apache.thrift.TSerializer;
import org.apache.thrift.protocol.TJSONProtocol;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java
b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java
index 0c54754d677..d42f25a2576 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java
@@ -26,15 +26,13 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import com.fasterxml.jackson.core.json.JsonReadFeature;
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Iterators;
import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonParser.Feature;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.type.TypeFactory;
-import org.codehaus.jackson.type.JavaType;
/**
* UDFJson.
@@ -61,11 +59,17 @@ import org.codehaus.jackson.type.JavaType;
public class UDFJson extends UDF {
private static final Pattern patternKey =
Pattern.compile("^([a-zA-Z0-9_\\-\\:\\s]+).*");
private static final Pattern patternIndex =
Pattern.compile("\\[([0-9]+|\\*)\\]");
- private static final JavaType MAP_TYPE = TypeFactory.fromClass(Map.class);
- private static final JavaType LIST_TYPE = TypeFactory.fromClass(List.class);
- private final JsonFactory jsonFactory = new JsonFactory();
- private final ObjectMapper objectMapper = new ObjectMapper(jsonFactory);
+ private static final ObjectMapper objectMapper = new ObjectMapper();
+ private static final JavaType MAP_TYPE =
objectMapper.getTypeFactory().constructType(Map.class);
+ private static final JavaType LIST_TYPE =
objectMapper.getTypeFactory().constructType(List.class);
+
+ static {
+ // Allows for unescaped ASCII control characters in JSON values
+
objectMapper.enable(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature());
+ // Enabled to accept quoting of all character backslash qooting mechanism
+
objectMapper.enable(JsonReadFeature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER.mappedFeature());
+ }
// An LRU cache using a linked hash map
static class HashCache<K, V> extends LinkedHashMap<K, V> {
@@ -95,10 +99,6 @@ public class UDFJson extends UDF {
Map<String, Boolean> mKeyMatchesCache = new HashCache<String, Boolean>();
public UDFJson() {
- // Allows for unescaped ASCII control characters in JSON values
- jsonFactory.enable(Feature.ALLOW_UNQUOTED_CONTROL_CHARS);
- // Enabled to accept quoting of all character backslash qooting mechanism
- jsonFactory.enable(Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER);
}
/**
diff --git
a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFJSONTuple.java
b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFJSONTuple.java
index 34911b08c55..60c811f2ae6 100644
---
a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFJSONTuple.java
+++
b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFJSONTuple.java
@@ -25,6 +25,11 @@ import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.core.json.JsonReadFeature;
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
import org.apache.hadoop.hive.ql.metadata.HiveException;
@@ -35,11 +40,6 @@ import
org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
import
org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import
org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector;
import org.apache.hadoop.io.Text;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonParser.Feature;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.type.TypeFactory;
-import org.codehaus.jackson.type.JavaType;
/**
* GenericUDTFJSONTuple: this
@@ -53,15 +53,15 @@ public class GenericUDTFJSONTuple extends GenericUDTF {
private static final Logger LOG =
LoggerFactory.getLogger(GenericUDTFJSONTuple.class.getName());
- private static final JsonFactory JSON_FACTORY = new JsonFactory();
+ private static final ObjectMapper MAPPER = new ObjectMapper();
+ private static final JavaType MAP_TYPE =
MAPPER.getTypeFactory().constructType(Map.class);
static {
// Allows for unescaped ASCII control characters in JSON values
- JSON_FACTORY.enable(Feature.ALLOW_UNQUOTED_CONTROL_CHARS);
+
MAPPER.enable(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature());
// Enabled to accept quoting of all character backslash qooting mechanism
- JSON_FACTORY.enable(Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER);
+
MAPPER.enable(JsonReadFeature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER.mappedFeature());
+
}
- private static final ObjectMapper MAPPER = new ObjectMapper(JSON_FACTORY);
- private static final JavaType MAP_TYPE = TypeFactory.fromClass(Map.class);
int numCols; // number of output columns
String[] paths; // array of path expressions, each of which corresponds to a
column
diff --git
a/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java
b/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java
index b4f219497e5..7b6af3b8930 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java
@@ -29,8 +29,6 @@ import org.apache.hadoop.hive.serde2.typeinfo.StructTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.UnionTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.VarcharTypeInfo;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.node.JsonNodeFactory;
import java.util.ArrayList;
import java.util.Arrays;
diff --git
a/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
b/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
index f41092ed15a..9c18314ba99 100644
--- a/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
+++ b/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
@@ -79,9 +79,9 @@ import org.apache.hive.service.cli.RowSetFactory;
import org.apache.hive.service.cli.TableSchema;
import org.apache.hive.service.cli.session.HiveSession;
import org.apache.hive.service.server.ThreadWithGarbageCleanup;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
/**
* SQLOperation.
diff --git a/service/src/test/org/apache/hive/service/cli/CLIServiceTest.java
b/service/src/test/org/apache/hive/service/cli/CLIServiceTest.java
index bc6648e4088..97a9948d1d6 100644
--- a/service/src/test/org/apache/hive/service/cli/CLIServiceTest.java
+++ b/service/src/test/org/apache/hive/service/cli/CLIServiceTest.java
@@ -40,8 +40,8 @@ import org.apache.hadoop.hive.ql.parse.ASTNode;
import org.apache.hadoop.hive.ql.parse.HiveSemanticAnalyzerHook;
import org.apache.hadoop.hive.ql.parse.HiveSemanticAnalyzerHookContext;
import org.apache.hadoop.hive.ql.parse.SemanticException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.hive.conf.HiveConf;