deniskuzZ commented on code in PR #6955:
URL: https://github.com/apache/hive/pull/6955#discussion_r4537474509
##########
llap-server/src/java/org/apache/hadoop/hive/llap/io/decode/ParquetColumnVectorProducer.java:
##########
@@ -97,6 +100,17 @@ public ReadPipeline
createReadPipeline(Consumer<ColumnVectorBatch> consumer, Fil
edc.init(reader, reader);
return edc;
} catch (IOException e) {
+ if (isInterrupt(e)) {
+ // Not a split this pipeline cannot serve: the fragment is being
killed, or the daemon shut
+ // down. Falling back would only restart the same read on the stock
reader, on a thread that
+ // should be unwinding. Rethrown as is, so the interrupt stays the
root cause that
Review Comment:
It says the rethrown exception keeps the interrupt as the root cause that
HiveInputFormat's limit-reached check looks for. That's only true when the root
cause is an InterruptedException or a ClosedByInterruptException:
- A plain InterruptedIOException never reaches that check.
RecordReaderWrapper.create catches it first and returns a ZeroRowsRecordReader.
- An IOException wrapping an InterruptedIOException, or a plain
IOException thrown on an interrupted thread, doesn't match the check, so
creating the reader fails even when the limit is reached.
Consider dropping that clause from the comment, the test javadoc and the
PR description.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]