RE: PostgresJDBC Driver w/ Orion under load
The PostgreSQL JDBC driver has a major "problem" in that it uses ThreadLocal objects to cache SimpleDateFormat instances in PreparedStatement.java. ThreadLocal objects leak memory, and is reported acknowledged in Sun's bug report tool. Eventually a server will run out of memory. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Adam Cassar Sent: Thursday, April 19, 2001 3:04 PM To: Orion-Interest Subject: RE: PostgresJDBC Driver w/ Orion under load I am using 7.03 + appropriate jdbc drivers with no problems under load. Have you tried debugging from the postgres end? Get postgres to dump the SQL statements as they pass through. On 19 Apr 2001 14:14:08 +1000, Mike Cannon-Brookes wrote: I'm using Postgres 7.1rc3 with 'the most recent Orion build' ;) I'm going to upgrade both overnight to see if it makes any difference, but I think what I really need is a tool to see: a) the threads Orion is running and what method they're stuck in (JPDA should do this) b) the current connections to postgres and the query that's being run - any idea how to get this info? Heavy load is very heavy, real life load. (if that helps) -mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Adam Cassar Sent: Thursday, April 19, 2001 12:24 PM To: Orion-Interest Subject: Re: PostgresJDBC Driver w/ Orion under load What version's r u using? We use postgres + orion here with no problems. What do you classify as 'heavy load'? Is it testing or real life load? On 19 Apr 2001 10:27:02 +1000, Mike Cannon-Brookes wrote: Has anyone used Postgres + JDBC + Orion under heavy load? We're having a problem on one of our production machines that on some occasions under heavy load Postgres JDBC connections seem to be dying / locking up as do Orion threads and we're not sure where to start looking. Has anyone used this combo and has experience with this sort of thing? Here's an example trace: An I/O error occured while reading from backend - Exception: java.net.SocketException: Connection reset by peer: Connection reset by peer Stack Trace: java.net.SocketException: Connection reset by peer: Connection reset by peer at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) or An I/O error occured while reading from backend - Exception: java.net.SocketException: Broken pipe: Broken pipe Stack Trace: java.net.SocketException: Broken pipe: Broken pipe at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) ... at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:184) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) any ideas where to start looking? -mike -- Adam Cassar Technical Development Manager ___ NetRegistry http://www.netregistry.au.com Tel: +61 2 9641 8609 | Fax: +61 2 9699 6088 PO Box 270 Broadway NSW 2007 Australia -- Adam Cassar Technical Development Manager ___ NetRegistry http://www.netregistry.au.com Tel: +61 2 9641 8609 | Fax: +61 2 9699 6088 PO Box 270 Broadway NSW 2007 Australia
RE: PostgresJDBC Driver w/ Orion under load
Title: RE: PostgresJDBC Driver w/ Orion under load BTW all, PostgreSQL 7.1 is out of beta. My off-the-cuff tests with 7.1b3 vs 7.0.2 a couple months back had 7.1 being 4.5 times faster than 7.0.2 doing ejb inserts, selects, and deletes w/ Orion. And, of course, 7.1 finally has outer joins. -tim/joeblowgt -Original Message- From: Mike Cannon-Brookes [mailto:[EMAIL PROTECTED]] Sent: Thursday, April 19, 2001 12:14 AM To: Orion-Interest Subject: RE: PostgresJDBC Driver w/ Orion under load I'm using Postgres 7.1rc3 with 'the most recent Orion build' ;) I'm going to upgrade both overnight to see if it makes any difference, but I think what I really need is a tool to see: a) the threads Orion is running and what method they're stuck in (JPDA should do this) b) the current connections to postgres and the query that's being run - any idea how to get this info? Heavy load is very heavy, real life load. (if that helps) -mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Adam Cassar Sent: Thursday, April 19, 2001 12:24 PM To: Orion-Interest Subject: Re: PostgresJDBC Driver w/ Orion under load What version's r u using? We use postgres + orion here with no problems. What do you classify as 'heavy load'? Is it testing or real life load? On 19 Apr 2001 10:27:02 +1000, Mike Cannon-Brookes wrote: Has anyone used Postgres + JDBC + Orion under heavy load? We're having a problem on one of our production machines that on some occasions under heavy load Postgres JDBC connections seem to be dying / locking up as do Orion threads and we're not sure where to start looking. Has anyone used this combo and has experience with this sort of thing? Here's an example trace: An I/O error occured while reading from backend - Exception: java.net.SocketException: Connection reset by peer: Connection reset by peer Stack Trace: java.net.SocketException: Connection reset by peer: Connection reset by peer at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) or An I/O error occured while reading from backend - Exception: java.net.SocketException: Broken pipe: Broken pipe Stack Trace: java.net.SocketException: Broken pipe: Broken pipe at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) ... at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:184) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) any ideas where to start looking? -mike -- Adam Cassar Technical Development Manager ___ NetRegistry http://www.netregistry.au.com Tel: +61 2 9641 8609 | Fax: +61 2 9699 6088 PO Box 270 Broadway NSW 2007 Australia
RE: PostgresJDBC Driver w/ Orion under load
I am using 7.03 + appropriate jdbc drivers with no problems under load. Have you tried debugging from the postgres end? Get postgres to dump the SQL statements as they pass through. On 19 Apr 2001 14:14:08 +1000, Mike Cannon-Brookes wrote: I'm using Postgres 7.1rc3 with 'the most recent Orion build' ;) I'm going to upgrade both overnight to see if it makes any difference, but I think what I really need is a tool to see: a) the threads Orion is running and what method they're stuck in (JPDA should do this) b) the current connections to postgres and the query that's being run - any idea how to get this info? Heavy load is very heavy, real life load. (if that helps) -mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Adam Cassar Sent: Thursday, April 19, 2001 12:24 PM To: Orion-Interest Subject: Re: PostgresJDBC Driver w/ Orion under load What version's r u using? We use postgres + orion here with no problems. What do you classify as 'heavy load'? Is it testing or real life load? On 19 Apr 2001 10:27:02 +1000, Mike Cannon-Brookes wrote: Has anyone used Postgres + JDBC + Orion under heavy load? We're having a problem on one of our production machines that on some occasions under heavy load Postgres JDBC connections seem to be dying / locking up as do Orion threads and we're not sure where to start looking. Has anyone used this combo and has experience with this sort of thing? Here's an example trace: An I/O error occured while reading from backend - Exception: java.net.SocketException: Connection reset by peer: Connection reset by peer Stack Trace: java.net.SocketException: Connection reset by peer: Connection reset by peer at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) or An I/O error occured while reading from backend - Exception: java.net.SocketException: Broken pipe: Broken pipe Stack Trace: java.net.SocketException: Broken pipe: Broken pipe at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) ... at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:184) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) any ideas where to start looking? -mike -- Adam Cassar Technical Development Manager ___ NetRegistry http://www.netregistry.au.com Tel: +61 2 9641 8609 | Fax: +61 2 9699 6088 PO Box 270 Broadway NSW 2007 Australia -- Adam Cassar Technical Development Manager ___ NetRegistry http://www.netregistry.au.com Tel: +61 2 9641 8609 | Fax: +61 2 9699 6088 PO Box 270 Broadway NSW 2007 Australia
Re: PostgresJDBC Driver w/ Orion under load
What version's r u using? We use postgres + orion here with no problems. What do you classify as 'heavy load'? Is it testing or real life load? On 19 Apr 2001 10:27:02 +1000, Mike Cannon-Brookes wrote: Has anyone used Postgres + JDBC + Orion under heavy load? We're having a problem on one of our production machines that on some occasions under heavy load Postgres JDBC connections seem to be dying / locking up as do Orion threads and we're not sure where to start looking. Has anyone used this combo and has experience with this sort of thing? Here's an example trace: An I/O error occured while reading from backend - Exception: java.net.SocketException: Connection reset by peer: Connection reset by peer Stack Trace: java.net.SocketException: Connection reset by peer: Connection reset by peer at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) or An I/O error occured while reading from backend - Exception: java.net.SocketException: Broken pipe: Broken pipe Stack Trace: java.net.SocketException: Broken pipe: Broken pipe at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) ... at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:184) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) any ideas where to start looking? -mike -- Adam Cassar Technical Development Manager ___ NetRegistry http://www.netregistry.au.com Tel: +61 2 9641 8609 | Fax: +61 2 9699 6088 PO Box 270 Broadway NSW 2007 Australia
RE: PostgresJDBC Driver w/ Orion under load
I'm using Postgres 7.1rc3 with 'the most recent Orion build' ;) I'm going to upgrade both overnight to see if it makes any difference, but I think what I really need is a tool to see: a) the threads Orion is running and what method they're stuck in (JPDA should do this) b) the current connections to postgres and the query that's being run - any idea how to get this info? Heavy load is very heavy, real life load. (if that helps) -mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Adam Cassar Sent: Thursday, April 19, 2001 12:24 PM To: Orion-Interest Subject: Re: PostgresJDBC Driver w/ Orion under load What version's r u using? We use postgres + orion here with no problems. What do you classify as 'heavy load'? Is it testing or real life load? On 19 Apr 2001 10:27:02 +1000, Mike Cannon-Brookes wrote: Has anyone used Postgres + JDBC + Orion under heavy load? We're having a problem on one of our production machines that on some occasions under heavy load Postgres JDBC connections seem to be dying / locking up as do Orion threads and we're not sure where to start looking. Has anyone used this combo and has experience with this sort of thing? Here's an example trace: An I/O error occured while reading from backend - Exception: java.net.SocketException: Connection reset by peer: Connection reset by peer Stack Trace: java.net.SocketException: Connection reset by peer: Connection reset by peer at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) or An I/O error occured while reading from backend - Exception: java.net.SocketException: Broken pipe: Broken pipe Stack Trace: java.net.SocketException: Broken pipe: Broken pipe at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:86) at java.io.BufferedInputStream.fill(BufferedInputStream.java:186) at java.io.BufferedInputStream.read(BufferedInputStream.java:204) at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:181) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) ... at org.postgresql.PG_Stream.ReceiveChar(PG_Stream.java:184) at org.postgresql.Connection.openConnection(Connection.java:160) at org.postgresql.Driver.connect(Driver.java:122) any ideas where to start looking? -mike -- Adam Cassar Technical Development Manager ___ NetRegistry http://www.netregistry.au.com Tel: +61 2 9641 8609 | Fax: +61 2 9699 6088 PO Box 270 Broadway NSW 2007 Australia