[ https://issues.apache.org/jira/browse/HIVE-22393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17023463#comment-17023463 ]
Hive QA commented on HIVE-22393: -------------------------------- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 10m 38s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 21s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 16s{color} | {color:green} master passed {color} | | {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue} 0m 29s{color} | {color:blue} streaming in master has 2 extant Findbugs warnings. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 13s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 20s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 20s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 20s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 16s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 37s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 14s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 15s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 14m 26s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Optional Tests | asflicense javac javadoc findbugs checkstyle compile | | uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux | | Build tool | maven | | Personality | /data/hiveptest/working/yetus_PreCommit-HIVE-Build-20336/dev-support/hive-personality.sh | | git revision | master / 037eace | | Default Java | 1.8.0_111 | | findbugs | v3.0.1 | | modules | C: streaming U: streaming | | Console output | http://104.198.109.242/logs//PreCommit-HIVE-Build-20336/yetus.txt | | Powered by | Apache Yetus http://yetus.apache.org | This message was automatically generated. > HiveStreamingConnection: Exception in beginTransaction causes > AbstractRecordWriter to throw NPE, covering up real exception > --------------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-22393 > URL: https://issues.apache.org/jira/browse/HIVE-22393 > Project: Hive > Issue Type: Bug > Components: Streaming > Affects Versions: 3.1.2 > Reporter: Alex Parrill > Assignee: Matt Burgess > Priority: Major > Attachments: HIVE-22393.1.patch, HIVE-22393.2.patch > > > Getting an error in my code that does some basic stuff with > {{HiveStreamingConnection}}: > {code} > 19/10/23 15:12:44 ERROR yarn_logger.Main: Thread worker-0 uncaught exception > java.lang.RuntimeException: org.apache.hive.streaming.StreamingException: > Unable to close > at com.datto.yarn_logger.WorkerThread.run(WorkerThread.java:51) > Caused by: org.apache.hive.streaming.StreamingException: Unable to close > at > org.apache.hive.streaming.HiveStreamingConnection$TransactionBatch.close(HiveStreamingConnection.java:973) > at > org.apache.hive.streaming.HiveStreamingConnection$TransactionBatch.markDead(HiveStreamingConnection.java:833) > at > org.apache.hive.streaming.HiveStreamingConnection$TransactionBatch.<init>(HiveStreamingConnection.java:677) > at > org.apache.hive.streaming.HiveStreamingConnection$TransactionBatch.<init>(HiveStreamingConnection.java:596) > at > org.apache.hive.streaming.HiveStreamingConnection.createNewTransactionBatch(HiveStreamingConnection.java:485) > at > org.apache.hive.streaming.HiveStreamingConnection.beginNextTransaction(HiveStreamingConnection.java:466) > at > org.apache.hive.streaming.HiveStreamingConnection.beginTransaction(HiveStreamingConnection.java:507) > at com.datto.yarn_logger.WorkerThread.run(WorkerThread.java:49) > Caused by: java.lang.NullPointerException > at > org.apache.hive.streaming.AbstractRecordWriter.logStats(AbstractRecordWriter.java:547) > at > org.apache.hive.streaming.AbstractRecordWriter.close(AbstractRecordWriter.java:352) > at > org.apache.hive.streaming.HiveStreamingConnection$TransactionBatch.closeImpl(HiveStreamingConnection.java:979) > at > org.apache.hive.streaming.HiveStreamingConnection$TransactionBatch.close(HiveStreamingConnection.java:970) > ... 7 more > {code} > Digging through the stack trace... {{TransactionBatch}} will try to catch > exception in its constructor, and calls the close method if an exception is > thrown (which is definitely happening; that's line 677 in > {{HiveStreamingConnection.java}}). This eventually calls > {{AbstractRecordWriter::close}} which, calls {{logStats}}, which tries to use > {{heapMemoryMonitor}}, which is null because presumably {{init}} had never > been called on the writer yet. > Easy fix would to just check in {{logStats}} if {{heapMemoryMonitor}} is > null, and do the same thing if the method it calls returns null in it. -- This message was sent by Atlassian Jira (v8.3.4#803005)