Re: JDBC causing the connection to close after executing a COPY command

From: Altaf Malik <mmalik_altaf(at)yahoo(dot)com>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: Dave Cramer <pg(at)fastcrypt(dot)com>, pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JDBC causing the connection to close after executing a COPY command
Date: 2007-12-13 19:09:49
Message-ID: 35579.58043.qm@web39104.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

I debugged little more and found that this is not because of incomplete copy support. When a response to any of the copy operations is received, JDBC reads next few bytes to ignore the response. But unfortunately driver reads extra four bytes which is the RFQ message so the RFQ message gets corrupted and IOException is thrown considering it as an unknown packet.

I am attaching a patch that fixes this issue and driver works smoothly even after giving the error on copy response.

Regards,
Altaf Malik
EnterpriseDB
http://www.enterprisedb.com/

Kris Jurka <books(at)ejurka(dot)com> wrote:

On Thu, 13 Dec 2007, Altaf Malik wrote:

> Also if i enable logging in JDBC, and only execute the COPY statement,
> log shows that FrontEnd sent a Terminate message.
>

What's happening is that after receiving the server's message that it
wants to do a COPY, the driver doesn't understand the protocol and dies
with an "java.io.IOException: Unexpected packet type: " error. Once this
happens the driver can't do anything but close the connection. As part of
the connection closing process it issues a Terminate message to the
server, in case it's still listening and the protocol is in a good enough
state that the server might receive it. The driver is not explicitly
terminating the connection upon receiving a copy request, that's just what
happens when it gets confused.

Kris Jurka


---------------------------------
Never miss a thing. Make Yahoo your homepage.

Attachment Content-Type Size
pg_copy.diff text/x-patch 973 bytes

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Tom Duffey 2007-12-13 21:15:19 Slow query after upgrades
Previous Message dmp 2007-12-13 18:11:46 Re: how to set a PreparedStatement column of XML type in 8.3?