Thread: Exception: An I/O error occured while sending to the backend

Exception: An I/O error occured while sending to the backend

From
Jan de Visser
Date:
Hello,

While doing performance tests on Windows Server 2003 I get the following:

An I/O error occured while sending to the backend.
org.postgresql.util.PSQLException: An I/O error occured while sending to the
backend.
        at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:214)
        at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:430)
        at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:346)
        at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:250)


In my server log, I have:

2006-03-02 12:31:02 5692 6436342 LOG:  could not receive data from client: A
non-blocking socket operation could not be completed immediately.

At the time my box is fairly heavy loaded, but still responsive. Server and
JBoss appserver live on the same dual 2Ghz Opteron.

A quick Google told me that:

1. More people have seen this.
2. No solutions.
3. The server message appears to indicate an unhandled WSAEWOULDBLOCK winsock
error on recv(), which MSDN said is to be expected and should be retried.

Is this a known bug?

jan


--
--------------------------------------------------------------
Jan de Visser                     jdevisser@digitalfairway.com

                Baruk Khazad! Khazad ai-menu!
--------------------------------------------------------------

Re: Exception: An I/O error occured while sending to the

From
Mark Lewis
Date:
You might have more luck raising this issue on pgsql-hackers instead of
pgsql-jdbc, because there's really nothing JDBC-specific about the
server rejecting incoming connections under load.

-- Mark Lewis

On Thu, 2006-03-02 at 14:34 -0500, Jan de Visser wrote:
> Hello,
>
> While doing performance tests on Windows Server 2003 I get the following:
>
> An I/O error occured while sending to the backend.
> org.postgresql.util.PSQLException: An I/O error occured while sending to the
> backend.
>         at
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:214)
>         at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:430)
>         at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:346)
>         at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:250)
>
>
> In my server log, I have:
>
> 2006-03-02 12:31:02 5692 6436342 LOG:  could not receive data from client: A
> non-blocking socket operation could not be completed immediately.
>
> At the time my box is fairly heavy loaded, but still responsive. Server and
> JBoss appserver live on the same dual 2Ghz Opteron.
>
> A quick Google told me that:
>
> 1. More people have seen this.
> 2. No solutions.
> 3. The server message appears to indicate an unhandled WSAEWOULDBLOCK winsock
> error on recv(), which MSDN said is to be expected and should be retried.
>
> Is this a known bug?
>
> jan
>
>

Re: Exception: An I/O error occured while sending to the backend

From
Jan de Visser
Date:
On Thursday 02 March 2006 14:48, Mark Lewis wrote:
> You might have more luck raising this issue on pgsql-hackers instead of
> pgsql-jdbc, because there's really nothing JDBC-specific about the
> server rejecting incoming connections under load.

You're probably right about where I should this, but I doubt your analysis is
correct. The load I'm generating is not caused by a large number of request,
but rather a small number of threads doing a lot of work each.

I don't think I have more than 5 connections open at any given time.

But I'll ask the hackers...

>
> -- Mark Lewis

jan

--
--------------------------------------------------------------
Jan de Visser                     jdevisser@digitalfairway.com

                Baruk Khazad! Khazad ai-menu!
--------------------------------------------------------------

Re: Exception: An I/O error occured while sending to the backend

From
Dave Cramer
Date:
Is there a firewall in between? We usually see the connection isn't
persistent.

Dave
On 2-Mar-06, at 2:56 PM, Jan de Visser wrote:

> On Thursday 02 March 2006 14:48, Mark Lewis wrote:
>> You might have more luck raising this issue on pgsql-hackers
>> instead of
>> pgsql-jdbc, because there's really nothing JDBC-specific about the
>> server rejecting incoming connections under load.
>
> You're probably right about where I should this, but I doubt your
> analysis is
> correct. The load I'm generating is not caused by a large number of
> request,
> but rather a small number of threads doing a lot of work each.
>
> I don't think I have more than 5 connections open at any given time.
>
> But I'll ask the hackers...
>
>>
>> -- Mark Lewis
>
> jan
>
> --
> --------------------------------------------------------------
> Jan de Visser                     jdevisser@digitalfairway.com
>
>                 Baruk Khazad! Khazad ai-menu!
> --------------------------------------------------------------
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>


Re: Exception: An I/O error occured while sending to the backend

From
Jan de Visser
Date:
On Thursday 02 March 2006 15:09, Dave Cramer wrote:
> Is there a firewall in between? We usually see the connection isn't  
> persistent.
>
> Dave

Nope. app and pgsql live on the same box.

Note that this is *very* intermittent. Seen it twice now in about a month of
testing.

jan

--
--------------------------------------------------------------
Jan de Visser                     jdevisser@digitalfairway.com

                Baruk Khazad! Khazad ai-menu!
--------------------------------------------------------------