Mohammad Arshad created HDFS-17959:
--------------------------------------

             Summary: Hive query execution hangs due to HDFS Client race 
condition where RPC threads block on a zombie connection's queue
                 Key: HDFS-17959
                 URL: https://issues.apache.org/jira/browse/HDFS-17959
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: hdfs-client
    Affects Versions: 3.4.1
            Reporter: Mohammad Arshad
            Assignee: Mohammad Arshad


Hive query execution was blocked on HiveServer2 due to a race condition in the 
HDFS client.

*Observation:*

I collected and analyzed a thread dump from HiveServer2 (attached to this 
JIRA). The analysis showed that multiple threads were adding items to the 
rpcRequestQueue, but no thread was polling from it. As a result, the threads 
adding items could not proceed and remained blocked on the 
SynchronousQueue.offer() method, which in turn blocked Hive query execution.



*Thread Dump Analysis Details:*

Multiple threads were stuck on queue 0x00007ef98c380800, but no IPC Parameter 
Sending Thread (RpcRequestSender) exists to poll this queue.
The four sender threads present in the dump poll four different queues, all 
recently created (13–33 seconds old).
The stuck queue 0x00007ef98c380800 belongs to an older Connection whose sender 
thread is dead (a zombie queue).

The blocked threads are stuck in the following code path:
{code:java}
at 
java.util.concurrent.SynchronousQueue.offer([email protected]/SynchronousQueue.java:857)
    at org.apache.hadoop.ipc.Client$Connection.sendRpcRequest(Client.java:1187)
    at org.apache.hadoop.ipc.Client.call(Client.java:1479)
{code}




 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to