This is an automated email from the ASF dual-hosted git repository.

arina pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git

commit 1cd6ee8a04255049393492e5d4babdcad9d1c1e6
Author: Vitalii Diravka <vitalii.dira...@gmail.com>
AuthorDate: Thu May 17 12:59:08 2018 +0300

    DRILL-6424: Updating FasterXML Jackson libraries
    
    closes #1274
---
 contrib/storage-hive/hive-exec-shade/pom.xml       |  19 --
 .../exec/store/easy/json/JsonRecordWriter.java     |   4 +-
 .../exec/store/parquet/metadata/Metadata.java      |  10 +-
 .../apache/drill/common/logical/data/Sequence.java | 192 ---------------------
 .../data/visitors/AbstractLogicalVisitor.java      |   6 -
 .../logical/data/visitors/LogicalVisitor.java      |   3 -
 pom.xml                                            |   4 +-
 7 files changed, 9 insertions(+), 229 deletions(-)

diff --git a/contrib/storage-hive/hive-exec-shade/pom.xml 
b/contrib/storage-hive/hive-exec-shade/pom.xml
index ad572ef..6f511ad 100644
--- a/contrib/storage-hive/hive-exec-shade/pom.xml
+++ b/contrib/storage-hive/hive-exec-shade/pom.xml
@@ -167,23 +167,4 @@
       </plugin>
     </plugins>
   </build>
-  <profiles>
-    <profile>
-      <id>mapr</id>
-      <properties>
-        <!-- TODO: MapR Hive 2.1 client version libraries use older jackson 
libraries than Hive 2.3 client.
-        It can be removed after updating onto 2.3 version -->
-        
<jackson.databind.mapr.hive.version>2.4.2</jackson.databind.mapr.hive.version>
-      </properties>
-      <dependencyManagement>
-        <dependencies>
-          <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>${jackson.databind.mapr.hive.version}</version>
-          </dependency>
-        </dependencies>
-      </dependencyManagement>
-    </profile>
-  </profiles>
 </project>
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/json/JsonRecordWriter.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/json/JsonRecordWriter.java
index b350d57..bd81578 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/json/JsonRecordWriter.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/json/JsonRecordWriter.java
@@ -18,6 +18,7 @@
 package org.apache.drill.exec.store.easy.json;
 
 import java.io.IOException;
+import java.io.OutputStream;
 import java.util.List;
 import java.util.Map;
 
@@ -33,7 +34,6 @@ import 
org.apache.drill.exec.vector.complex.fn.ExtendedJsonOutput;
 import org.apache.drill.exec.vector.complex.fn.JsonWriter;
 import org.apache.drill.exec.vector.complex.reader.FieldReader;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 
@@ -56,7 +56,7 @@ public class JsonRecordWriter extends JSONOutputRecordWriter 
implements RecordWr
 
   private int index;
   private FileSystem fs = null;
-  private FSDataOutputStream stream = null;
+  private OutputStream stream = null;
 
   private final JsonFactory factory = new JsonFactory();
   private final StorageStrategy storageStrategy;
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/metadata/Metadata.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/metadata/Metadata.java
index cdf98e6..ab655e9 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/metadata/Metadata.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/metadata/Metadata.java
@@ -40,8 +40,6 @@ import 
org.apache.drill.exec.store.parquet.ParquetReaderUtility;
 import org.apache.drill.exec.util.DrillFileSystemUtil;
 import org.apache.drill.exec.util.ImpersonationUtil;
 import org.apache.hadoop.fs.BlockLocation;
-import org.apache.hadoop.fs.FSDataInputStream;
-import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -60,6 +58,8 @@ import org.apache.parquet.schema.Type;
 
 import javax.annotation.Nullable;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.security.PrivilegedExceptionAction;
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -542,7 +542,7 @@ public class Metadata {
     SimpleModule module = new SimpleModule();
     module.addSerializer(ColumnMetadata_v3.class, new 
ColumnMetadata_v3.Serializer());
     mapper.registerModule(module);
-    FSDataOutputStream os = fs.create(p);
+    OutputStream os = fs.create(p);
     mapper.writerWithDefaultPrettyPrinter().writeValue(os, 
parquetTableMetadata);
     os.flush();
     os.close();
@@ -555,7 +555,7 @@ public class Metadata {
     ObjectMapper mapper = new ObjectMapper(jsonFactory);
     SimpleModule module = new SimpleModule();
     mapper.registerModule(module);
-    FSDataOutputStream os = fs.create(p);
+    OutputStream os = fs.create(p);
     mapper.writerWithDefaultPrettyPrinter().writeValue(os, 
parquetTableMetadataDirs);
     os.flush();
     os.close();
@@ -586,7 +586,7 @@ public class Metadata {
     mapper.registerModule(serialModule);
     mapper.registerModule(module);
     mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-    try (FSDataInputStream is = fs.open(path)) {
+    try (InputStream is = fs.open(path)) {
       boolean alreadyCheckedModification;
       boolean newMetadata = false;
       alreadyCheckedModification = 
metaContext.getStatus(metadataParentDirPath);
diff --git 
a/logical/src/main/java/org/apache/drill/common/logical/data/Sequence.java 
b/logical/src/main/java/org/apache/drill/common/logical/data/Sequence.java
deleted file mode 100644
index c9d68ff..0000000
--- a/logical/src/main/java/org/apache/drill/common/logical/data/Sequence.java
+++ /dev/null
@@ -1,192 +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.drill.common.logical.data;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.drill.common.logical.data.Sequence.De;
-import org.apache.drill.common.logical.data.visitors.LogicalVisitor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.annotation.ObjectIdGenerator;
-import com.fasterxml.jackson.annotation.ObjectIdGenerators;
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.deser.impl.ReadableObjectId;
-import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
-import com.google.common.collect.Iterators;
-
-// TODO - is this even ever used anymore? I don't believe the planner will ever
-// generate this, we might have some tests with old logical plans that use this
-// but it should probably be removed
-/**
- * Describes a list of operators where each operator only has one input and 
that
- * input is the operator that came before.
- *
- */
-@Deprecated
-@JsonDeserialize(using = De.class)
-@JsonTypeName("sequence")
-public class Sequence extends LogicalOperatorBase {
-  static final Logger logger = LoggerFactory.getLogger(Sequence.class);
-
-  private Sequence() {}
-
-  public boolean openTop;
-  public LogicalOperator input;
-  @JsonProperty("do")
-  public List<LogicalOperator> stream;
-
-    @Override
-    public <T, X, E extends Throwable> T accept(LogicalVisitor<T, X, E> 
logicalVisitor, X value) throws E {
-        return logicalVisitor.visitSequence(this, value);
-    }
-
-    @Override
-    public Iterator<LogicalOperator> iterator() {
-        return Iterators.singletonIterator(stream.get(stream.size() - 1));
-    }
-
-    public static class De extends StdDeserializer<LogicalOperator> {
-
-    protected De() {
-      super(Sequence.class);
-    }
-
-    @Override
-    public LogicalOperator deserialize(JsonParser jp, DeserializationContext 
ctxt) throws IOException,
-        JsonProcessingException {
-      ObjectIdGenerator<Integer> idGenerator = new 
ObjectIdGenerators.IntSequenceGenerator();
-      JsonLocation start = jp.getCurrentLocation();
-      JsonToken t = jp.getCurrentToken();
-      LogicalOperator parent = null;
-      LogicalOperator first = null;
-      LogicalOperator prev = null;
-      Integer id = null;
-
-      while (true) {
-        String fieldName = jp.getText();
-        t = jp.nextToken();
-        switch (fieldName) { // switch on field names.
-        case "@id":
-          id = _parseIntPrimitive(jp, ctxt);
-          break;
-        case "input":
-          JavaType tp = ctxt.constructType(LogicalOperator.class);
-          JsonDeserializer<Object> d = ctxt.findRootValueDeserializer(tp);
-          parent = (LogicalOperator) d.deserialize(jp, ctxt);
-          break;
-
-        case "do":
-          if (!jp.isExpectedStartArrayToken()) {
-            throwE(
-                jp,
-                "The do parameter of sequence should be an array of 
SimpleOperators.  Expected a JsonToken.START_ARRAY token but received a "
-                    + t.name() + "token.");
-          }
-
-          int pos = 0;
-          while ((t = jp.nextToken()) != JsonToken.END_ARRAY) {
-            // logger.debug("Reading sequence child {}.", pos);
-            JsonLocation l = jp.getCurrentLocation(); // get current location
-                                                      // first so we can
-                                                      // correctly reference 
the
-                                                      // start of the object in
-                                                      // the case that the type
-                                                      // is wrong.
-            LogicalOperator o = jp.readValueAs(LogicalOperator.class);
-
-            if (pos == 0) {
-              if (!(o instanceof SingleInputOperator) && !(o instanceof 
SourceOperator)) {
-                throwE(
-                    l,
-                    "The first operator in a sequence must be either a 
ZeroInput or SingleInput operator.  The provided first operator was not. It was 
of type "
-                        + o.getClass().getName());
-              }
-              first = o;
-            } else {
-              if (!(o instanceof SingleInputOperator)) {
-                throwE(l, "All operators after the first must be single input 
operators.  The operator at position "
-                    + pos + " was not. It was of type " + 
o.getClass().getName());
-              }
-              SingleInputOperator now = (SingleInputOperator) o;
-              now.setInput(prev);
-            }
-            prev = o;
-
-            pos++;
-          }
-          break;
-        default:
-          throwE(jp, "Unknown field name provided for Sequence: " + 
jp.getText());
-        }
-
-        t = jp.nextToken();
-        if (t == JsonToken.END_OBJECT) {
-          break;
-        }
-      }
-
-      if (first == null) {
-        throwE(start, "A sequence must include at least one operator.");
-      }
-      if ((parent == null && first instanceof SingleInputOperator)
-          || (parent != null && first instanceof SourceOperator)) {
-        throwE(start,
-            "A sequence must either start with a ZeroInputOperator or have a 
provided input. It cannot have both or neither.");
-      }
-
-      if (parent != null && first instanceof SingleInputOperator) {
-        ((SingleInputOperator) first).setInput(parent);
-      }
-
-      // set input reference.
-      if (id != null) {
-
-        ReadableObjectId rid = ctxt.findObjectId(id, idGenerator);
-        rid.bindItem(prev);
-        // logger.debug("Binding id {} to item {}.", rid.id, rid.item);
-
-      }
-
-      return first;
-    }
-
-  }
-
-  private static void throwE(JsonLocation l, String e) throws 
JsonParseException {
-    throw new JsonParseException(e, l);
-  }
-
-  private static void throwE(JsonParser jp, String e) throws 
JsonParseException {
-    throw new JsonParseException(e, jp.getCurrentLocation());
-  }
-
-}
diff --git 
a/logical/src/main/java/org/apache/drill/common/logical/data/visitors/AbstractLogicalVisitor.java
 
b/logical/src/main/java/org/apache/drill/common/logical/data/visitors/AbstractLogicalVisitor.java
index 4fd64c5..482146f 100644
--- 
a/logical/src/main/java/org/apache/drill/common/logical/data/visitors/AbstractLogicalVisitor.java
+++ 
b/logical/src/main/java/org/apache/drill/common/logical/data/visitors/AbstractLogicalVisitor.java
@@ -30,7 +30,6 @@ import org.apache.drill.common.logical.data.Order;
 import org.apache.drill.common.logical.data.Project;
 import org.apache.drill.common.logical.data.RunningAggregate;
 import org.apache.drill.common.logical.data.Scan;
-import org.apache.drill.common.logical.data.Sequence;
 import org.apache.drill.common.logical.data.Store;
 import org.apache.drill.common.logical.data.Transform;
 import org.apache.drill.common.logical.data.Union;
@@ -97,11 +96,6 @@ public abstract class AbstractLogicalVisitor<T, X, E extends 
Throwable> implemen
     }
 
     @Override
-    public T visitSequence(Sequence sequence, X value) throws E {
-        return visitOp(sequence, value);
-    }
-
-    @Override
     public T visitTransform(Transform transform, X value) throws E {
         return visitOp(transform, value);
     }
diff --git 
a/logical/src/main/java/org/apache/drill/common/logical/data/visitors/LogicalVisitor.java
 
b/logical/src/main/java/org/apache/drill/common/logical/data/visitors/LogicalVisitor.java
index 55fa838..9d9013e 100644
--- 
a/logical/src/main/java/org/apache/drill/common/logical/data/visitors/LogicalVisitor.java
+++ 
b/logical/src/main/java/org/apache/drill/common/logical/data/visitors/LogicalVisitor.java
@@ -30,12 +30,10 @@ import org.apache.drill.common.logical.data.Order;
 import org.apache.drill.common.logical.data.Project;
 import org.apache.drill.common.logical.data.RunningAggregate;
 import org.apache.drill.common.logical.data.Scan;
-import org.apache.drill.common.logical.data.Sequence;
 import org.apache.drill.common.logical.data.Store;
 import org.apache.drill.common.logical.data.Transform;
 import org.apache.drill.common.logical.data.Union;
 import org.apache.drill.common.logical.data.Window;
-import org.apache.drill.common.logical.data.Window;
 import org.apache.drill.common.logical.data.Writer;
 
 /**
@@ -60,7 +58,6 @@ public interface LogicalVisitor<RETURN, EXTRA, EXCEP extends 
Throwable> {
     public RETURN visitJoin(Join join, EXTRA value) throws EXCEP;
     public RETURN visitLimit(Limit limit, EXTRA value) throws EXCEP;
     public RETURN visitRunningAggregate(RunningAggregate runningAggregate, 
EXTRA value) throws EXCEP;
-    public RETURN visitSequence(Sequence sequence, EXTRA value) throws EXCEP;
     public RETURN visitTransform(Transform transform, EXTRA value) throws 
EXCEP;
     public RETURN visitUnion(Union union, EXTRA value) throws EXCEP;
     public RETURN visitWindow(Window window, EXTRA value) throws EXCEP;
diff --git a/pom.xml b/pom.xml
index 43207c1..620f73c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,8 +49,8 @@
     <avatica.version>1.11.0</avatica.version>
     <janino.version>2.7.6</janino.version>
     <sqlline.version>1.1.9-drill-r7</sqlline.version>
-    <jackson.version>2.7.9</jackson.version>
-    <jackson.databind.version>2.7.9.1</jackson.databind.version>
+    <jackson.version>2.9.5</jackson.version>
+    <jackson.databind.version>2.9.5</jackson.databind.version>
     <mapr.release.version>5.2.1-mapr</mapr.release.version>
     <ojai.version>1.1</ojai.version>
     <kerby.version>1.0.0-RC2</kerby.version>

-- 
To stop receiving notification emails like this one, please contact
ar...@apache.org.

Reply via email to