[ https://issues.apache.org/activemq/browse/AMQ-878?page=all ]

Nikolai Penkov resolved AMQ-878.
--------------------------------

    Fix Version/s: 4.1
       Resolution: Fixed

Tested in ebbeded broker (JBoss 4.0.4.GA) with 20K+ (10k+ size each) messages 
in Queue on startup. 2 Subscribers and 1 producer Connected on startup.
(Compiled with JDK1.5+)

> JMX Exception: "Destination already created" when recovering gigantic queues 
> from database
> ------------------------------------------------------------------------------------------
>
>                 Key: AMQ-878
>                 URL: https://issues.apache.org/activemq/browse/AMQ-878
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: incubation
>         Environment: Embeded broker, Any platform (OS, JDK) - currentlly 
> embeded in JBoss 4.0.4.GA
>            Reporter: Nikolai Penkov
>         Assigned To: Hiram Chirino
>             Fix For: 4.1
>
>         Attachments: async-recovery.patch
>
>
> I think this issue is described in Hiram's blog: 
> http://blogbucket.blogspot.com/2006/05/scaling-to-gigantic-queues-and-topics.html.
> E.g. when broker is stopped with a lot of messages in queue. When started - 
> recovery process is fired (currently on creation of a queue), and if another 
> subscriber requests queue - it creates a new one, because previous process 
> hasn't finished.
> I think the simpliest solution for that problem is to start recovery process 
> in another thread with synchronization to sent process(sent process should be 
> suspended till full recovery is done) and subscriber notification method 
> (every sunscriber should be notified on recovery of message).
> I have attached a patch to activemq-core, which I have tested with my 
> environment - JBoss 4.0.4.GA with Embeded Broker ActiveMQ trunk release, jdbc 
> persistence.
> I am not a spec. in threads nor in ActiveMQ design, and I am sure that you 
> will find a more elegant sollution to what I have provided.

-- 
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

        

Reply via email to