[ https://issues.apache.org/jira/browse/HIVE-11892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14876712#comment-14876712 ]
Jason Dere commented on HIVE-11892: ----------------------------------- As far as I can tell, it looks like GenericUDTF.close() isn't called until after CliDriver.processLocalCmd() has already finished going through the query results, so any rows added to the result at this point are never iterated over and printed. {noformat} ListSinkOperator.process(Object, int) line: 94 UDTFOperator(Operator<T>).forward(Object, ObjectInspector) line: 813 UDTFOperator.forwardUDTFOutput(Object) line: 126 UDTFCollector.collect(Object) line: 45 GenericUDTFCount2(GenericUDTF).forward(Object) line: 107 GenericUDTFCount2.close() line: 48 UDTFOperator.closeOp(boolean) line: 145 UDTFOperator(Operator<T>).close(boolean) line: 617 SelectOperator(Operator<T>).close(boolean) line: 631 TableScanOperator(Operator<T>).close(boolean) line: 631 FetchOperator.clearFetchContext() line: 523 FetchTask.clearFetch() line: 181 Driver.close() line: 1842 CliDriver.processLocalCmd(String, CommandProcessor, CliSessionState) line: 250 CliDriver.processCmd(String) line: 165 CliDriver.processLine(String, boolean) line: 376 CliDriver.executeDriver(CliSessionState, HiveConf, OptionsProcessor) line: 736 CliDriver.run(String[]) line: 681 CliDriver.main(String[]) line: 621 {noformat} > UDTF run in local fetch task does not return rows forwarded during > GenericUDTF.close() > -------------------------------------------------------------------------------------- > > Key: HIVE-11892 > URL: https://issues.apache.org/jira/browse/HIVE-11892 > Project: Hive > Issue Type: Bug > Components: UDF > Reporter: Jason Dere > > Using the example UDTF GenericUDTFCount2, which is part of hive-contrib: > {noformat} > create temporary function udtfCount2 as > 'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFCount2'; > set hive.fetch.task.conversion=minimal; > -- Task created, correct output (2 rows) > select udtfCount2() from src; > set hive.fetch.task.conversion=more; > -- Runs in local task, incorrect output (0 rows) > select udtfCount2() from src; > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)