[jira] Updated: (AMQ-736) Broker is not delivering all messages to slow consumer
[ https://issues.apache.org/activemq/browse/AMQ-736?page=all ] Danielius Jurna updated AMQ-736: Attachment: slowConsumer.patch > Broker is not delivering all messages to slow consumer > -- > > Key: AMQ-736 > URL: https://issues.apache.org/activemq/browse/AMQ-736 > Project: ActiveMQ > Type: Bug > Components: Broker > Versions: 4.0 > Environment: Linux/Windows Java 1.5.0_06 > Reporter: Danielius Jurna > Priority: Critical > Attachments: SlowConsumerTest.java, slowConsumer.patch > > > When producer produces more messages than consumer can handle, after some > time some messages are not delivered to the consumer (they are just skipped). > To get those messages from the broker, you need to reconnect the consumer. It > seems that this bug only occures if message persistance is turned on in the > broker. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (AMQ-736) Broker is not delivering all messages to slow consumer
[ https://issues.apache.org/activemq/browse/AMQ-736?page=comments#action_36231 ] Danielius Jurna commented on AMQ-736: - The problem is not in the broker, but in JournalMessageStore. Whet JoiurnalMessageStore is performing checkpoint, consumers doesn't receive messages during that checkpoint. The bug is that during checkpoint, messages are removed from cpAddedMessageIds list, and as I understand, this is temporal message store used during checkpoint. And during checkpoint messages shouldn't be removed from there, because consumer is using this member to get messages, which are already removed from short term storage, but not yet added to long term storage. So fix is preatty simple. I'm adding the patch against the main trunk of ActiveMQ. Hope some ActiveMQ developers will take a look. > Broker is not delivering all messages to slow consumer > -- > > Key: AMQ-736 > URL: https://issues.apache.org/activemq/browse/AMQ-736 > Project: ActiveMQ > Type: Bug > Components: Broker > Versions: 4.0 > Environment: Linux/Windows Java 1.5.0_06 > Reporter: Danielius Jurna > Priority: Critical > Attachments: SlowConsumerTest.java, slowConsumer.patch > > > When producer produces more messages than consumer can handle, after some > time some messages are not delivered to the consumer (they are just skipped). > To get those messages from the broker, you need to reconnect the consumer. It > seems that this bug only occures if message persistance is turned on in the > broker. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (AMQ-734) Network connections do not reconnect when using static: with failover=true
[ https://issues.apache.org/activemq/browse/AMQ-734?page=comments#action_36230 ] Janet Cooper commented on AMQ-734: -- (using active-mq-snapshot-30-may / linux) Some comments: Given a network of brokers in a demand forwarding environment: Broker A + Broker B in a _real_ network on different hosts (a lot of bugs are not reproducable in a localhost-environment) UseCase 1: Start Broker A Start Broker B Do a network-split (aka "unplugging the cable") [There is an exception attached that will be generated in such a case] Create new message m1 on Broker A (that is stored for later delivery) Reconnect network Brokers will reconnect with exception (see below) It is actually possible to LOSE MESSAGES that way. I found out that under certain circumstances message m1 will not be delivered. Even restarting every broker does not help in such a case. EXCEPTION ON UPLUGGING: INFO Service:185 - Async error occurred: java.lang.IllegalStateException: Cannot lookup a connection that had not been registered: ID:develop-43781-1149388950450-3:0 java.lang.IllegalStateException: Cannot lookup a connection that had not been registered: ID:develop-43781-1149388950450-3:0 at org.apache.activemq.broker.AbstractConnection.lookupConnectionState(AbstractConnection.java:241) at org.apache.activemq.broker.AbstractConnection.processRemoveConnection(AbstractConnection.java:519) at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:59) at org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62) at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63) at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:76) at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:44) at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) at org.apache.activemq.network.DemandForwardingBridgeSupport$2.transportInterupted(DemandForwardingBridgeSupport.java:138) at org.apache.activemq.transport.TransportFilter.transportInterupted(TransportFilter.java:98) at org.apache.activemq.transport.TransportFilter.transportInterupted(TransportFilter.java:98) at org.apache.activemq.transport.failover.FailoverTransport.handleTransportFailure(FailoverTransport.java:223) at org.apache.activemq.transport.failover.FailoverTransport.access$300(FailoverTransport.java:53) at org.apache.activemq.transport.failover.FailoverTransport$1.onException(FailoverTransport.java:111) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:94) at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:120) at org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:149) at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:100) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:156) at java.lang.Thread.run(Thread.java:595) EXCEPTION ON RECONNECTING: INFO Service:185 - Async error occurred: javax.jms.InvalidClientIDException: Broker: develop - Client: NC_testbroker_inbounddevelop already connected javax.jms.InvalidClientIDException: Broker: develop - Client: NC_testbroker_inbounddevelop already connected at org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:176) at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:69) at org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:69) at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:69) at org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:82) at org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:507) at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:118) at org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62) at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63) at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:76) at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:44) at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) at