RE: hangs while getting large objects... - Mailing list pgsql-jdbc

From chris markiewicz
Subject RE: hangs while getting large objects...
Date
Msg-id 003401c125c7$1b37dcd0$77b846c6@cmarkiewicz
Whole thread Raw
In response to Re: hangs while getting large objects...  (Rene Pijlman <rpijlman@wanadoo.nl>)
List pgsql-jdbc
While I can readily reproduce it on my application, I have so far been
unsuccessful at writing a test case that reproduces the problem.

Oh, I just tried the latest drivers - no luck - same problem.

Equally unfortunate is the fact that all database processing is heavily
abstracted in the application - so there is no method that grabs a
connection, performs the query, iterates through the ResultSet, and closes
the rs/stmt/conn.  I know that I am unlikely to find help unless I can
manage to reproduce the problem on an independent program, but I was hoping
that there might be some general LO or byte stream rule that I am not
following.

The area where is breaks is shown below.  The method grabs the column name
from RS metadata and calls either getObject or getBytes.  When it hangs, it
occurs on the getBytes(...) line.
Once it hangs, the system is essentially useless.  My test program will
freeze when it reaches the particular row that the application is trying to
access.  The application hangs on to the commection until I stop Tomcat.

I'll continue trying to reproduce in a separate program.

thanks
chris

if (sqlf.getGetType().equals("byte[]")) {
    try {
          System.out.println("JDBCE.getbytes (before)");
            byte[] bytes = rs.getBytes(columnName);
            System.out.println("JDBCE.getbytes (after)");
            marshaller.setObjectField(o, sqlf.getMapField(), bytes);
      } catch (Exception e) {
          String exStr = e.toString();
            //## create SBHException here so that it is logged
            SBHException sbhex = new SBHException(e);
            if (exStr.indexOf("FastPath") == -1) {
             System.out.println("JDBCE.lrs NONFastPath error..."+exStr);
                  throw e;
            } else {
                  System.out.println("JDBCE.lrs FastPath error..."+exStr);
                  throw new FastPathException(e);
            }
    }
} else {
    result = rs.getObject(columnName);
      marshaller.setObjectField(o, sqlf.getMapField(), result);
}



pgsql-jdbc by date:

Previous
From: "Dave Cramer"
Date:
Subject: RE: hangs while getting large objects...
Next
From: "Carterette, Ben"
Date:
Subject: select on multiple tables