java - Jstack:At which point is Amazon redshift jdbc driver is stuck? -
i executing 7 parallel queries amazon redshift , process output. code cease progress once in while. ran jstack , noticed 7 threads stuck @ epollwait:-
"thread-124" daemon prio=10 tid=0x00007fc3b0080800 nid=0x72e1 runnable [0x00007fc33868c000] java.lang.thread.state: runnable @ sun.nio.ch.epollarraywrapper.epollwait(native method) @ sun.nio.ch.epollarraywrapper.poll(epollarraywrapper.java:269) @ sun.nio.ch.epollselectorimpl.doselect(epollselectorimpl.java:79) @ sun.nio.ch.selectorimpl.lockanddoselect(selectorimpl.java:87) - locked <0x000000078ec691c8> (a sun.nio.ch.util$2) - locked <0x000000078ec691b8> (a java.util.collections$unmodifiableset) - locked <0x000000078ec690a0> (a sun.nio.ch.epollselectorimpl) @ sun.nio.ch.selectorimpl.select(selectorimpl.java:98) @ com.amazon.jdbc.communications.inboundmessagesthread.run(inboundmessagesthread.java:309)
looks 7 threads(although in runnable state) held jdbc driver amazon.
- i have waited 1 hour until each of query has been executed @ redshift
- tcpdump not showing data transfer between application , redshift cluster. means none of thread should have there instruction pointer @ amazon jdbc driver.
from stack trace, don't understand control stuck?
- is when driver waiting query execute @ redshift?
- or, when driver waiting fetch next line resultset?
depending on able debug further. have been searching, can't find source code of redshift driver. knows method stuck(com.amazon.jdbc.communications.inboundmessagesthread.run
)?
Comments
Post a Comment