[Pgpool-general] Probleme with pgpool-II-2.3.2.1 and JDBC drivers

Tatsuo Ishii ishii at sraoss.co.jp
Wed Feb 17 03:06:09 UTC 2010


Could not reproduce here. I'm using postgresql-8.4-701.jdbc4.jar as
well. Can you provide me a complete test case? (Java program)
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> hello,
> pgpool-II-2.3.2.1  is buggy from jdbc postgresql point of views.
> After sende a bad request from jdbc driver, select * from noexisttable
> , for example, pgpools sends a STATE 26000 and nothing after,
> JDBC drivers then do nothing and is blocking in infinite loop. If
> disconnect JDBC connection and reconnect , JDBC receive error from
> pgpool about sql bad resquest.
> 
> This issues does not exist with pgpool-II-2.3.1.
> 
> Any suggestion.
> 
> bad sql requetet
> trace du driver jdbc postgresql-8.4-701.jdbc4.jar
> 
> 11:00:44.040 (1) simple execute,
> handler=org.postgresql.jdbc2.AbstractJdbc2Statement$StatementResultHandler at 4f1ada,
> maxRows=0, fetchSize=0, flags=17
> 11:00:44.040 (1)  FE=> Parse(stmt=null,query="select * from toto",oids={})
> 11:00:44.040 (1)  FE=> Bind(stmt=null,portal=null)
> 11:00:44.040 (1)  FE=> Describe(portal=null)
> 11:00:44.040 (1)  FE=> Execute(portal=null,limit=0)
> 11:00:44.040 (1)  FE=> Sync
> 11:00:44.040 (1)  <=BE ErrorMessage(ERROR: relation "toto" does not exist)
> org.postgresql.util.PSQLException: ERROR: relation "toto" does not exist
>     at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
>     at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
>     at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
>     at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
>     at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:367)
>     at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:271)
>     at com.neocoretech.console.debug.SqlDebugEngine.eval(SqlDebugEngine.java:16)
>     at com.neocoretech.console.debug.ui.ScriptDebugPanel$1$1.doInBackground(ScriptDebugPanel.java:45)
>     at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at javax.swing.SwingWorker.run(SwingWorker.java:316)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> SQLException: SQLState(42P01)
> 11:00:44.240 (1)  <=BE ErrorMessage(ERROR: unnamed prepared statement
> does not exist)
> org.postgresql.util.PSQLException: ERROR: unnamed prepared statement
> does not exist
>     at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
>     at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
>     at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
>     at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
>     at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:367)
>     at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:271)
>     at com.neocoretech.console.debug.SqlDebugEngine.eval(SqlDebugEngine.java:16)
>     at com.neocoretech.console.debug.ui.ScriptDebugPanel$1$1.doInBackground(ScriptDebugPanel.java:45)
>     at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at javax.swing.SwingWorker.run(SwingWorker.java:316)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> SQLException: SQLState(26000)
> 
> => Connection block in
> 
> org.postgresql.core.v3.QueryExecutorImpl.processResults(ResultHandler
> handler, int flags)
> 
> while (!endQuery)
>  {
>             c = pgStream.ReceiveChar(); <= block
> 
> }
> 
> 
> regards,
> Nicolas Prochazka
> _______________________________________________
> Pgpool-general mailing list
> Pgpool-general at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pgpool-general


More information about the Pgpool-general mailing list