Thread: implementing query timeout
As has been noted on this list before, query timeouts are not implemented in pgsql-jdbc (see http://archives.postgresql.org/pgsql-bugs/2000-12/msg00093.php ). This is currently causing a problem for me, and I might (no promises) be interested in implementing it. So I'm testing the waters. If I did submit a patch for this, would the developers here be interested? j
Jessica, Yes we would be interested Thanks, Dave -----Original Message----- From: pgsql-jdbc-owner@postgresql.org [mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Jessica Perry Hekman Sent: Friday, March 08, 2002 5:06 PM To: pgsql-jdbc@postgresql.org Subject: [JDBC] implementing query timeout As has been noted on this list before, query timeouts are not implemented in pgsql-jdbc (see http://archives.postgresql.org/pgsql-bugs/2000-12/msg00093.php ). This is currently causing a problem for me, and I might (no promises) be interested in implementing it. So I'm testing the waters. If I did submit a patch for this, would the developers here be interested? j ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html
Jessica Perry Hekman wrote: > As has been noted on this list before, query timeouts are not implemented > in pgsql-jdbc (see > > http://archives.postgresql.org/pgsql-bugs/2000-12/msg00093.php > > ). This is currently causing a problem for me, and I might (no > promises) be interested in implementing it. So I'm testing the waters. If > I did submit a patch for this, would the developers here be interested? Let me also add that Cancel now works in the CVS copy of the jdbc driver. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Jessica Perry Hekman wrote: > As has been noted on this list before, query timeouts are not implemented > in pgsql-jdbc (see > > http://archives.postgresql.org/pgsql-bugs/2000-12/msg00093.php > > ). This is currently causing a problem for me, and I might (no > promises) be interested in implementing it. So I'm testing the waters. If > I did submit a patch for this, would the developers here be interested? [ Hackers list added.] You bet, but it would be done in the backend, not in jdbc. Is that OK? I have some ideas that should make it pretty easy. If you set an alarm() in the backend on transaction start, then call the query cancel() code if the alarm() goes off, that should do it. Of course, you reset the alarm if the query finishes before the timeout. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
On Wed, 13 Mar 2002, Bruce Momjian wrote: > You bet, but it would be done in the backend, not in jdbc. Is that OK? Theoretically this is okay. I am more comfortable in Java than in C and I hadn't looked at the backend code at all, but I'll take a peek and see if it looks like something I'd feel comfortable doing. > I have some ideas that should make it pretty easy. If you set an > alarm() in the backend on transaction start, then call the query > cancel() code if the alarm() goes off, that should do it. Of course, > you reset the alarm if the query finishes before the timeout. Sounds straightforward enough. Hopefully I'll get a chance to look at this before the end of this week. Thanks! Jessica
Hi friends, I have problems with postgres.jar and tomcat. I have de follow exception : - Excepcion de persistencia: com.kristinaIbs.persistence.ExceptionPersistence: ManagerPersistencePool (getConnection).Connection refused. Check that the hostname and port is correct, and that the postmaster is running with the -i flag, which enables TCP/IP networking. at com.kristinaIbs.persistence.ManagerPersistencePool.getConnection(ManagerPers istencePool.java:112) at com.kristinaIbs.user.UserManager.getUserByLogin(UserManager.java:314) I have the follows parameters : driver = org.postgresql.Driver url = jdbc:postgresql://192.168.0.7:5432/easysite user = postgres password = Do you can Help please!!!!! -----Mensaje original----- De: pgsql-jdbc-owner@postgresql.org [mailto:pgsql-jdbc-owner@postgresql.org]En nombre de Bruce Momjian Enviado el: miercoles 13 de marzo de 2002 21:23 Para: Jessica Perry Hekman CC: pgsql-jdbc@postgresql.org; PostgreSQL-development Asunto: Re: [JDBC] implementing query timeout Jessica Perry Hekman wrote: > As has been noted on this list before, query timeouts are not implemented > in pgsql-jdbc (see > > http://archives.postgresql.org/pgsql-bugs/2000-12/msg00093.php > > ). This is currently causing a problem for me, and I might (no > promises) be interested in implementing it. So I'm testing the waters. If > I did submit a patch for this, would the developers here be interested? Let me also add that Cancel now works in the CVS copy of the jdbc driver. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
Hi friend ;P The first problem that I can see is a clear "Connection refused". Befor investigate if the cause is Tomcat or something else, correct this error! Be sure that the postmaster is running with the -i p.s. usually my run.sh is like: "./postmaster -i -D /home/me/postgresql/data > logfile 2>&1 &" Ciao, Auri On Thu, 14 Mar 2002, Jose Javier Gutierrez wrote: > Hi friends, > I have problems with postgres.jar and tomcat. I have de follow exception : > > - Excepcion de persistencia: > com.kristinaIbs.persistence.ExceptionPersistence: ManagerPersistencePool > (getConnection).Connection refused. Check that the hostname and port is > correct, and that the postmaster is running with the -i flag, which enables > TCP/IP networking. > at > com.kristinaIbs.persistence.ManagerPersistencePool.getConnection(ManagerPers > istencePool.java:112) > at > com.kristinaIbs.user.UserManager.getUserByLogin(UserManager.java:314) > > I have the follows parameters : > driver = org.postgresql.Driver > url = jdbc:postgresql://192.168.0.7:5432/easysite > user = postgres > password = > > Do you can Help please!!!!!
"Jose Javier Gutierrez" <jgutierrez@kristina.es> writes: > com.kristinaIbs.persistence.ExceptionPersistence: ManagerPersistencePool > (getConnection).Connection refused. Check that the hostname and port is > correct, and that the postmaster is running with the -i flag, which enables > TCP/IP networking. Is the postmaster indeed listening on a TCP/IP port, (usually 5432) or just on the Unix-domain socket? You have to specifically turn on TCP/IP for security reasons--it's not enabled by default. -Doug -- Doug McNaught Wireboard Industries http://www.wireboard.com/ Custom software development, systems and network consulting. Java PostgreSQL Enhydra Python Zope Perl Apache Linux BSD...
Jessica Perry Hekman wrote: > I am still unable to post to the hackers list. I sent a second attempt, a > few days after subscribing; I sent mail to pgsql-hackers-owner (no > response, though maybe that didn't go through either); I subscribed from a > second account, waited a few hours, and send mail (twice) from there > (again, no bounce and it didn't go through). I am at a loss. Is there some > special way to subscribe? (I filled my address into the form at > http://webmail.postgresql.org/cgi-bin/mj_wwwusr?domain=postgresql.org&func=lists-long-full&extra=pgsql-hackers, > but maybe that just lets me read and not post?). > > I'm sorry to keep asking for your help on this, but I am frustrated and > not sure what else to do at this point. Jessica, you had asked about implementing a jdbc timeout a while back, and we got stuck on implementing it in the backend with an alarm() timeout and a Cancel, and the fact that SET in a transaction would not roll back. Well, we have committed fixes to the current CVS to roll back a SET in a transaction: test=> SHOW australian_timezones; INFO: australian_timezones is off test=> BEGIN; BEGIN test=> SET australian_timezones TO true; SET test=> SHOW australian_timezones; INFO: australian_timezones is on test=> ABORT; ROLLBACK test=> SHOW australian_timezones; INFO: australian_timezones is off This means we can now create a SET variable that does an alarm/cancel timeout in a transaction, and know that it can safely bracket a statement because it will reset if the transaction aborts. Are you still interested in working on this? -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Jessica P. Hekman wrote: > On Fri, 7 Jun 2002, Bruce Momjian wrote: > > > This means we can now create a SET variable that does an alarm/cancel > > timeout in a transaction, and know that it can safely bracket a > > statement because it will reset if the transaction aborts. > > > > Are you still interested in working on this? > > Very possibly. Could I get just a little hand-holding about how to create > a new SET variable -- along the lines of "another place where a SET > variable is defined is in this method, so just imitate what is done > there"? Sure, you can chat with me via: AIM bmomjian ICQ 151255111 Yahoo bmomjian MSN root@candle.pha.pa.us IRC #postgresql vis efnet or via email. I can do the SET stuff for you if you wish. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
On Fri, 7 Jun 2002, Bruce Momjian wrote: > This means we can now create a SET variable that does an alarm/cancel > timeout in a transaction, and know that it can safely bracket a > statement because it will reset if the transaction aborts. > > Are you still interested in working on this? Very possibly. Could I get just a little hand-holding about how to create a new SET variable -- along the lines of "another place where a SET variable is defined is in this method, so just imitate what is done there"? j