You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Daniel, Vojtech (JIRA)" <ji...@apache.org> on 2008/03/27 15:06:32 UTC

[jira] Created: (AMQ-1634) Broken Pipe Exception

Broken Pipe Exception
---------------------

                 Key: AMQ-1634
                 URL: https://issues.apache.org/activemq/browse/AMQ-1634
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 4.1.1
         Environment: AIX 5.3
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 AIX ppc-32
Filesystem: GPFS
            Reporter: Daniel, Vojtech


We startup AMQ 4.1.1, have some messages send and after some time we get a broken pipe exception:

Loading message broker from: xbean:activemq.xml
INFO  BrokerService                  - ActiveMQ 4.1.1 JMS Message Broker (BrokerMQ1) is starting
INFO  BrokerService                  - For help or more information please see: http://incubator.apache.org/activemq/
INFO  JDBCPersistenceAdapter         - Database driver recognized: [apache_derby_embedded_jdbc_driver]
INFO  DefaultDatabaseLocker          - Attempting to acquire the exclusive lock to become the Master broker
INFO  DefaultDatabaseLocker          - Becoming the master on dataSource: org.apache.derby.jdbc.EmbeddedDataSource@6e5a6e5a
INFO  JournalPersistenceAdapter      - Journal Recovery Started from: Active Journal: using 2 x 20.0 Megs at: /somePathToASharedFS/foBroker1/journal
INFO  JournalPersistenceAdapter      - Journal Recovered: 0 message(s) in transactions recovered.
INFO  TransportServerThreadSupport   - Listening for connections at: tcp://xxxxxxxxxxxxxxx:63616
INFO  TransportConnector             - Connector tcp://localhost:63616 Started
INFO  BrokerService                  - ActiveMQ JMS Message Broker (BrokerMQ1, ID:xxxxxxxxxxx-63589-1206619947406-1:0) started
ERROR TransportConnector             - Could not accept connection from /xxxxxxxxxxxxxxxx:64529: java.net.SocketException: Broken pipe
java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:105)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:149)
        at org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:109)
        at java.io.DataOutputStream.flush(DataOutputStream.java:131)
        at org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:119)
        at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:141)
        at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:80)
        at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:93)
        at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47)
        at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1138)
        at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:805)
        at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:885)
        at org.apache.activemq.broker.TransportConnector$1.onAccept(TransportConnector.java:148)
        at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:167)
        at java.lang.Thread.run(Thread.java:797)

Objective was to have filesystem based Master-Slave failover scenario.

Our configuration file looks like this:

<beans>
        <!-- Allows us to use system properties as variables in this configuration file -->
        <bean   class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />

        <broker brokerName="BrokerMQ1" useJmx="false" xmlns="http://activemq.org/config/1.0">
                <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
                <!-- managementContext>
                <managementContext connectorPort="61099" jmxDomainName="org.apache.activemq"/>
                </managementContext-->

                <persistenceAdapter>
                        <journaledJDBC dataDirectory="/somePathToASharedFS/foBroker1"/>
                </persistenceAdapter>


                <transportConnectors>
                        <transportConnector uri="tcp://localhost:63616" />
                </transportConnectors>

        </broker>

</beans>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1634) Broken Pipe Exception

Posted by "Fernando Ciciliati (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46221#action_46221 ] 

Fernando Ciciliati commented on AMQ-1634:
-----------------------------------------

We have got the same error on ActiveMQ 4.1.2 on RHEL4 / Java 1.5, running master/slave with shared storage on a GFS SAN.

It's interesting to notice that the error seems to happen only at the moment when the "Active" machine is abruptly shut down. The issue happens then on the machine that was in "Passive" mode and becomes "Active".

2008/09/24 12:20:25 | Loading message broker from: xbean:activemq.xml
2008/10/02 17:17:39 | ERROR TransportConnector             - Could not accept connection from /xxx.xxx.xxx.xxx:49442: java.net.SocketException: Broken pipe
2008/10/02 17:17:39 | java.net.SocketException: Broken pipe
2008/10/02 17:17:39 |   at java.net.SocketOutputStream.socketWrite0(Native Method)
2008/10/02 17:17:39 |   at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
2008/10/02 17:17:39 |   at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
2008/10/02 17:17:39 |   at org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:109)
2008/10/02 17:17:39 |   at java.io.DataOutputStream.flush(DataOutputStream.java:106)
2008/10/02 17:17:39 |   at org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:119)
2008/10/02 17:17:39 |   at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:145)
2008/10/02 17:17:39 |   at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:80)
2008/10/02 17:17:39 |   at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:93)
2008/10/02 17:17:39 |   at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47)
2008/10/02 17:17:39 |   at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1138)
2008/10/02 17:17:39 |   at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:805)
2008/10/02 17:17:39 |   at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:885)
2008/10/02 17:17:39 |   at org.apache.activemq.broker.TransportConnector$1.onAccept(TransportConnector.java:148)
2008/10/02 17:17:39 |   at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:167)
2008/10/02 17:17:39 |   at java.lang.Thread.run(Thread.java:595)

> Broken Pipe Exception
> ---------------------
>
>                 Key: AMQ-1634
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1634
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 4.1.1
>         Environment: AIX 5.3
> IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 AIX ppc-32
> Filesystem: GPFS
>            Reporter: Daniel, Vojtech
>             Fix For: 5.3.0
>
>
> We startup AMQ 4.1.1, have some messages send and after some time we get a broken pipe exception:
> Loading message broker from: xbean:activemq.xml
> INFO  BrokerService                  - ActiveMQ 4.1.1 JMS Message Broker (BrokerMQ1) is starting
> INFO  BrokerService                  - For help or more information please see: http://incubator.apache.org/activemq/
> INFO  JDBCPersistenceAdapter         - Database driver recognized: [apache_derby_embedded_jdbc_driver]
> INFO  DefaultDatabaseLocker          - Attempting to acquire the exclusive lock to become the Master broker
> INFO  DefaultDatabaseLocker          - Becoming the master on dataSource: org.apache.derby.jdbc.EmbeddedDataSource@6e5a6e5a
> INFO  JournalPersistenceAdapter      - Journal Recovery Started from: Active Journal: using 2 x 20.0 Megs at: /somePathToASharedFS/foBroker1/journal
> INFO  JournalPersistenceAdapter      - Journal Recovered: 0 message(s) in transactions recovered.
> INFO  TransportServerThreadSupport   - Listening for connections at: tcp://xxxxxxxxxxxxxxx:63616
> INFO  TransportConnector             - Connector tcp://localhost:63616 Started
> INFO  BrokerService                  - ActiveMQ JMS Message Broker (BrokerMQ1, ID:xxxxxxxxxxx-63589-1206619947406-1:0) started
> ERROR TransportConnector             - Could not accept connection from /xxxxxxxxxxxxxxxx:64529: java.net.SocketException: Broken pipe
> java.net.SocketException: Broken pipe
>         at java.net.SocketOutputStream.socketWrite0(Native Method)
>         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:105)
>         at java.net.SocketOutputStream.write(SocketOutputStream.java:149)
>         at org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:109)
>         at java.io.DataOutputStream.flush(DataOutputStream.java:131)
>         at org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:119)
>         at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:141)
>         at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:80)
>         at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:93)
>         at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47)
>         at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1138)
>         at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:805)
>         at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:885)
>         at org.apache.activemq.broker.TransportConnector$1.onAccept(TransportConnector.java:148)
>         at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:167)
>         at java.lang.Thread.run(Thread.java:797)
> Objective was to have filesystem based Master-Slave failover scenario.
> Our configuration file looks like this:
> <beans>
>         <!-- Allows us to use system properties as variables in this configuration file -->
>         <bean   class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
>         <broker brokerName="BrokerMQ1" useJmx="false" xmlns="http://activemq.org/config/1.0">
>                 <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
>                 <!-- managementContext>
>                 <managementContext connectorPort="61099" jmxDomainName="org.apache.activemq"/>
>                 </managementContext-->
>                 <persistenceAdapter>
>                         <journaledJDBC dataDirectory="/somePathToASharedFS/foBroker1"/>
>                 </persistenceAdapter>
>                 <transportConnectors>
>                         <transportConnector uri="tcp://localhost:63616" />
>                 </transportConnectors>
>         </broker>
> </beans>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.