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) {