Re: prepareCall hangs

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Akhil Srinivasan <akhilss(at)gmail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: prepareCall hangs
Date: 2005-06-21 00:19:59
Message-ID: 42B75D2F.50407@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Akhil Srinivasan wrote:

> CallableStatement proc = con.prepareCall("{ ? = call
> \"insAccount\" ( ? ) }");
>
> proc.registerOutParameter(1, Types.OTHER);
> proc.setString(2,userName);
> this.registerCallableStatementForCancel(proc);
> logger.debug("registerCallableStatementForCancel(): exit"+userName);
> /* another thread will call statement.cancel() if timeout exceeded*/
> proc.execute();
> this.unregisterCallableStatementForCancel(proc);
> logger.debug("unregisterCallableStatementForCancel():
> exit"+userName);
> ResultSet rset = (ResultSet)proc.getObject(1);
>

> Occasionally the prepareCall just hangs, as logging statements show that
> it does not enter the execute().

I find this unlikely as prepareCall doesn't do any I/O or thread-related
work. It could be getting stuck in a loop, but it seems odd that it
would only happen intermittently. More likely seems to be that you have
a problem in registerCallableStatementForCancel.

Can you add more logging immediately before calling
registerCallableStatementForCancel() to eliminate that possibility?

Alternatively, can you get a thread dump (on Linux/Solaris, send a
SIGQUIT to the Java process) when it hangs? That'd show us exactly where
things have stopped.

-O

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Jason Tesser 2005-06-21 12:54:10 problem with types in new jdbc driver
Previous Message Dave Cramer 2005-06-20 23:18:05 Re: JDBC Connectivity..