You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by om...@apache.org on 2016/12/09 22:17:00 UTC

[1/2] orc git commit: ORC-118 Fix RecordReaderImpl.findColumn from getting NPE when columns aren't mapped by schema evolution.

Repository: orc
Updated Branches:
  refs/heads/branch-1.2 e5d507592 -> f86602e0d


ORC-118 Fix RecordReaderImpl.findColumn from getting NPE when columns aren't
mapped by schema evolution.

Signed-off-by: Owen O'Malley <om...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/orc/repo
Commit: http://git-wip-us.apache.org/repos/asf/orc/commit/aac6a8d2
Tree: http://git-wip-us.apache.org/repos/asf/orc/tree/aac6a8d2
Diff: http://git-wip-us.apache.org/repos/asf/orc/diff/aac6a8d2

Branch: refs/heads/branch-1.2
Commit: aac6a8d2053dec0b3dd72a5804c31eb8b2de10d6
Parents: e5d5075
Author: Owen O'Malley <om...@apache.org>
Authored: Fri Dec 9 13:47:37 2016 -0800
Committer: Owen O'Malley <om...@apache.org>
Committed: Fri Dec 9 13:56:18 2016 -0800

----------------------------------------------------------------------
 .../java/org/apache/orc/impl/RecordReaderImpl.java    |  3 ++-
 .../org/apache/orc/impl/TestRecordReaderImpl.java     | 14 ++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/orc/blob/aac6a8d2/java/core/src/java/org/apache/orc/impl/RecordReaderImpl.java
----------------------------------------------------------------------
diff --git a/java/core/src/java/org/apache/orc/impl/RecordReaderImpl.java b/java/core/src/java/org/apache/orc/impl/RecordReaderImpl.java
index 362dd3d..bb6dd2d 100644
--- a/java/core/src/java/org/apache/orc/impl/RecordReaderImpl.java
+++ b/java/core/src/java/org/apache/orc/impl/RecordReaderImpl.java
@@ -112,7 +112,8 @@ public class RecordReaderImpl implements RecordReader {
     List<TypeDescription> children = readerSchema.getChildren();
     for (int i = 0; i < fieldNames.size(); ++i) {
       if (columnName.equals(fieldNames.get(i))) {
-        return evolution.getFileType(children.get(i)).getId();
+        TypeDescription result = evolution.getFileType(children.get(i));
+        return result == null ? -1 : result.getId();
       }
     }
     return -1;

http://git-wip-us.apache.org/repos/asf/orc/blob/aac6a8d2/java/core/src/test/org/apache/orc/impl/TestRecordReaderImpl.java
----------------------------------------------------------------------
diff --git a/java/core/src/test/org/apache/orc/impl/TestRecordReaderImpl.java b/java/core/src/test/org/apache/orc/impl/TestRecordReaderImpl.java
index f159eef..6b4daa8 100644
--- a/java/core/src/test/org/apache/orc/impl/TestRecordReaderImpl.java
+++ b/java/core/src/test/org/apache/orc/impl/TestRecordReaderImpl.java
@@ -70,6 +70,20 @@ import org.mockito.MockSettings;
 import org.mockito.Mockito;
 
 public class TestRecordReaderImpl {
+
+  @Test
+  public void testFindColumn() throws Exception {
+    Configuration conf = new Configuration();
+    TypeDescription file = TypeDescription.fromString("struct<a:int,c:string,e:int>");
+    TypeDescription reader = TypeDescription.fromString("struct<a:int,b:double,c:string,d:double,e:bigint>");
+    SchemaEvolution evo = new SchemaEvolution(file, reader, new Reader.Options(conf));
+    assertEquals(1, RecordReaderImpl.findColumns(evo, "a"));
+    assertEquals(-1, RecordReaderImpl.findColumns(evo, "b"));
+    assertEquals(2, RecordReaderImpl.findColumns(evo, "c"));
+    assertEquals(-1, RecordReaderImpl.findColumns(evo, "d"));
+    assertEquals(3, RecordReaderImpl.findColumns(evo, "e"));
+  }
+
   /**
    * Create a predicate leaf. This is used by another test.
    */


[2/2] orc git commit: HIVE-15309 Miscellaneous logging clean up (Eugene Koifman, reviewed by Wei Zheng)

Posted by om...@apache.org.
HIVE-15309 Miscellaneous logging clean up (Eugene Koifman, reviewed by Wei Zheng)

Signed-off-by: Owen O'Malley <om...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/orc/repo
Commit: http://git-wip-us.apache.org/repos/asf/orc/commit/f86602e0
Tree: http://git-wip-us.apache.org/repos/asf/orc/tree/f86602e0
Diff: http://git-wip-us.apache.org/repos/asf/orc/diff/f86602e0

Branch: refs/heads/branch-1.2
Commit: f86602e0d20a565b908936d0a930d4059c68be9c
Parents: aac6a8d
Author: Owen O'Malley <om...@apache.org>
Authored: Fri Dec 9 13:53:39 2016 -0800
Committer: Owen O'Malley <om...@apache.org>
Committed: Fri Dec 9 13:56:25 2016 -0800

----------------------------------------------------------------------
 java/core/src/java/org/apache/orc/impl/OrcAcidUtils.java | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/orc/blob/f86602e0/java/core/src/java/org/apache/orc/impl/OrcAcidUtils.java
----------------------------------------------------------------------
diff --git a/java/core/src/java/org/apache/orc/impl/OrcAcidUtils.java b/java/core/src/java/org/apache/orc/impl/OrcAcidUtils.java
index 72c7f54..7ca9e1d 100644
--- a/java/core/src/java/org/apache/orc/impl/OrcAcidUtils.java
+++ b/java/core/src/java/org/apache/orc/impl/OrcAcidUtils.java
@@ -54,6 +54,9 @@ public class OrcAcidUtils {
                                         Path deltaFile) throws IOException {
     Path lengths = getSideFile(deltaFile);
     long result = Long.MAX_VALUE;
+    if(!fs.exists(lengths)) {
+      return result;
+    }
     try (FSDataInputStream stream = fs.open(lengths)) {
       result = -1;
       while (stream.available() > 0) {