harishjp commented on code in PR #5534:
URL: https://github.com/apache/hive/pull/5534#discussion_r1837275703
##########
llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java:
##########
@@ -276,11 +275,20 @@ public void unpause() {
@Override
protected Void callInternal() throws IOException, InterruptedException {
- return ugi.doAs(new PrivilegedExceptionAction<Void>() {
- @Override
- public Void run() throws Exception {
- return performDataRead();
+ return ugi.doAs((PrivilegedExceptionAction<Void>) () -> {
+ long startTime = counters.startTimeCounter();
+ try {
+ performDataRead();
+ consumer.setDone();
+ } catch (Throwable t) {
+ consumer.setError(t);
+ trace.dumpLog(LOG);
+ } finally {
+ cleanupReaders();
+ recordReaderTime(startTime);
Review Comment:
I do not know, that is confusing for me too. If you look at previous code,
in some case recordReaderTime is called before cleanupReaders (Ex: end of
function and handleError) and in some cases its called after (Ex: processStop).
I do not think it was intentional. I can do anything which seems correct,
cleanupReader is closing IO objects, whether that part of IO or not is
subjective. I can do it the way you feel strongly.
--
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]