[jira] Updated: (AMQ-736) Broker is not delivering all messages to slow consumer

2006-06-04 Thread Danielius Jurna (JIRA)
 [ 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

2006-06-04 Thread Danielius Jurna (JIRA)
[ 
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

2006-06-04 Thread Janet Cooper (JIRA)
[ 
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