Thread dump showing Runnable state, but its hung for quite a long time
<p>We are facing an unusual problem in our application, in the last one month our application reached an unrecoverable state, It was recovered post application restart.</p>

<p>Background : Our application makes a DB query to fetch some information and this Database is hosted on a separate node.</p>

<p>Problematic case : When the thread dump was analyzed we see all the threads are in runnable state fetching the data from the database, but it didn't finished even after 20 minutes.</p>

<p>Post the application restart as expected all threads recovered. And the CPU usage was also normal.</p>

<p>Below is the thread dump</p>

<blockquote>
  <p>ThreadPool:2:47" prio=3 tid=0x0000000007334000 nid=0x5f runnable
  [0xfffffd7fe9f54000]    java.lang.Thread.State: RUNNABLE  at
  oracle.jdbc.driver.T2CStatement.t2cParseExecuteDescribe(Native Method)
    at
  oracle.jdbc.driver.T2CPreparedStatement.executeForDescribe(T2CPreparedStatement.java:518)
    at
  oracle.jdbc.driver.T2CPreparedStatement.executeForRows(T2CPreparedStatement.java:764)
    at ora</p>
</blockquote>

<pre><code>All threads in the same state.
</code></pre>

<p>Questions:  </p>

<ol>
<li>what could be the reason for this state?</li>
<li>how to recover under this case ?</li>
</ol>
