[ https://issues.apache.org/jira/browse/HIVE-22523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16979550#comment-16979550 ]
Slim Bouguerra commented on HIVE-22523: --------------------------------------- as per the code will wait for 100ms then next round should exit if one of the flags are set. {code} private void enqueueInternal(Object o) throws InterruptedException { // We need to loop here to handle the case where consumer goes away. do {} while (!isClosed && !isInterrupted && !queue.offer(o, 100, TimeUnit.MILLISECONDS)); } {code} are you saying that in some cases the flags are not set or it is not visible to the thread ? > The error handler in LlapRecordReader might block if its queue is full > ---------------------------------------------------------------------- > > Key: HIVE-22523 > URL: https://issues.apache.org/jira/browse/HIVE-22523 > Project: Hive > Issue Type: Bug > Reporter: Attila Magyar > Assignee: Attila Magyar > Priority: Major > Fix For: 4.0.0 > > Attachments: HIVE-22523.1.patch > > > InĀ setError() we set the value of an atomic reference (pendingError) and we > also put the error in a queue. The latter seems not just unnecessary but it > might block the caller of the handler if the queue is full. Also closing of > the reader is might not properly handled as some of the flags are not > volatile. -- This message was sent by Atlassian Jira (v8.3.4#803005)