[Pgpool-general] Probleme with pgpool-II-2.3.2.1 and JDBC drivers
nicolas prochazka
prochazka.nicolas at gmail.com
Tue Feb 16 10:19:57 UTC 2010
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
More information about the Pgpool-general
mailing list