Thread: Broken pipe error

Broken pipe error

From
"admin"
Date:
With the PostgresSQL 8.0, I have experienced a broken pipe error for some
times. One new Java web application experiences this problem in every ten
day or so. This problem becomes a big problem right now for the enterprise
application. Is the jdbc driver problem or something else?

Thanks.


Re: Broken pipe error

From
Maciek Sakrejda
Date:
On Fri, Sep 17, 2010 at 1:41 PM, admin
<admin0423@homepage.kgbinternet.com> wrote:
> With the PostgresSQL 8.0, I have experienced a broken pipe error for some
> times. One new Java web application experiences this problem in every ten
> day or so. This problem becomes a big problem right now for the enterprise
> application. Is the jdbc driver problem or something else?

I think the only possible answer to a question this vague is "maybe".

Less flippantly, we can probably help you better if you provide more
information on the types of errors you're seeing (e.g., a full stack
trace), whether your application was doing anything unusual at the
time of the error (e.g., in terms of query workload, PostgreSQL notify
messages, etc.), and anything else that might be relevant. From
watching the list, I'm not aware of any open issues leading the driver
to break a connection.

---
Maciek Sakrejda | System Architect | Truviso

1065 E. Hillsdale Blvd., Suite 215
Foster City, CA 94404
(650) 242-3500 Main
www.truviso.com

Re: Broken pipe error

From
"admin"
Date:
Hi Maciek,

Thanks for your quick reply.

Here is log messages from one application:

2010-09-17 12:31:32,202 ERROR JDBCTransaction:67: - JDBC begin failed
org.postgresql.util.PSQLException: An I/O error has occured while flushing
the output - Exception: java.net.SocketException: Broken pipe
Stack Trace:

java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
    at org.postgresql.core.PGStream.flush(PGStream.java:411)
    at org.postgresql.core.QueryExecutor.sendQueryV3(QueryExecutor.java:337)
    at org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java:121)
    at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:100)
    at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43)
    at
org.postgresql.jdbc1.AbstractJdbc1Connection.execSQL(AbstractJdbc1Connection.java:875)
    at
org.postgresql.jdbc1.AbstractJdbc1Connection.setAutoCommit(AbstractJdbc1Connection.java:1266)
    at
org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:268)
    at
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:293)
    at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:63)
    at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326)
    at
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:494)
    at

org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:315)
    at

org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:257)
    at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:102)
    at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
    at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
...

End of Stack Trace

    at org.postgresql.core.PGStream.flush(PGStream.java:415)
    at org.postgresql.core.QueryExecutor.sendQueryV3(QueryExecutor.java:337)
    at org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java:121)
    at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:100)
    at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43)
    at
org.postgresql.jdbc1.AbstractJdbc1Connection.execSQL(AbstractJdbc1Connection.java:875)
    at
org.postgresql.jdbc1.AbstractJdbc1Connection.setAutoCommit(AbstractJdbc1Connection.java:1266)
    at
org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:268)
    at
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:293)
    at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:63)
    at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326)
    at
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:494)
    at

org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:315)
    at

org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:257)
    at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:102)
    at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
    at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
...

The driver version is pg74.213.jdbc3.jar. The PostgreSQL is 8.x.x.

Thanks a lot.

> On Fri, Sep 17, 2010 at 1:41 PM, admin
> <admin0423@homepage.kgbinternet.com> wrote:
>> With the PostgresSQL 8.0, I have experienced a broken pipe error for
>> some
>> times. One new Java web application experiences this problem in every
>> ten
>> day or so. This problem becomes a big problem right now for the
>> enterprise
>> application. Is the jdbc driver problem or something else?
>
> I think the only possible answer to a question this vague is "maybe".
>
> Less flippantly, we can probably help you better if you provide more
> information on the types of errors you're seeing (e.g., a full stack
> trace), whether your application was doing anything unusual at the
> time of the error (e.g., in terms of query workload, PostgreSQL notify
> messages, etc.), and anything else that might be relevant. From
> watching the list, I'm not aware of any open issues leading the driver
> to break a connection.
>
> ---
> Maciek Sakrejda | System Architect | Truviso
>
> 1065 E. Hillsdale Blvd., Suite 215
> Foster City, CA 94404
> (650) 242-3500 Main
> www.truviso.com
>
> --------------------------------
> Spam/Virus scanning by CanIt Pro
>
> For more information see
> http://www.kgbinternet.com/SpamFilter.htm
>
> To control your spam filter, log in at
> http://filter.kgbinternet.com
>



Re: Broken pipe error

From
Craig Ringer
Date:
On 09/18/2010 04:49 AM, Maciek Sakrejda wrote:

> Less flippantly, we can probably help you better if you provide more
> information on the types of errors you're seeing (e.g., a full stack
> trace), whether your application was doing anything unusual at the
> time of the error (e.g., in terms of query workload, PostgreSQL notify
> messages, etc.), and anything else that might be relevant.

In particular, you'll really need to supply the contents of the
PostgreSQL log files from around the time the error occurred.

--
Craig Ringer

Re: Broken pipe error

From
"admin"
Date:
I don't have a direct access of the PostgreSQL log file. I have to ask
other to get the DB log messages. Here is what I get back:

NOTICE:  ALTER TABLE / ADD PRIMARY KEY will create implicit index
"web_menu2_pkey" for table "web_menu2"
WARNING:  no privileges could be revoked
WARNING:  no privileges could be revoked
WARNING:  no privileges were granted
WARNING:  no privileges were granted
ERROR:  column "mfzjczifqhgki" does not exist
ERROR:  syntax error at end of input at character 48
ERROR:  column "mfzjczifqhgki" does not exist
ERROR:  column "ejwcwxddtiirxgc" does not exist
ERROR:  column "mfzjczifqhgki" does not exist
ERROR:  syntax error at end of input at character 48
ERROR:  column "ykchkotnl" does not exist

There isn't time stamp at all. Is a switch of timestamp in the log file?



> On 09/18/2010 04:49 AM, Maciek Sakrejda wrote:
>
>> Less flippantly, we can probably help you better if you provide more
>> information on the types of errors you're seeing (e.g., a full stack
>> trace), whether your application was doing anything unusual at the
>> time of the error (e.g., in terms of query workload, PostgreSQL notify
>> messages, etc.), and anything else that might be relevant.
>
> In particular, you'll really need to supply the contents of the
> PostgreSQL log files from around the time the error occurred.
>
> --
> Craig Ringer
>
> --------------------------------
> Spam/Virus scanning by CanIt Pro
>
> For more information see
> http://www.kgbinternet.com/SpamFilter.htm
>
> To control your spam filter, log in at
> http://filter.kgbinternet.com
>