activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Norbert Pfistner (JIRA)" <>
Subject [jira] Commented: (AMQ-2184) Messages keep hanging in JDBCStore without delivery to client
Date Tue, 07 Jul 2009 09:12:07 GMT


Norbert Pfistner commented on AMQ-2184:

As long as we can see it's an issue somehow related to the database persistance. We still
did not get any pin on it.
Currently we use 5.1, so as Dave mentioned in the comment above I'll close it. 

> Messages keep hanging in JDBCStore without delivery to client
> -------------------------------------------------------------
>                 Key: AMQ-2184
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0, 5.2.0
>         Environment: OS: Linux version 2.6.26-amd64-85 (root@etch64) (gcc version 4.1.2
20061115 (prerelease) (Debian 4.1.1-21))
> ActiveMQ: 5.1.0
> 1 Broker, 12 JBoss's  with round about 20 consumers and  20 Producers on 7 JDBC persistant
> Clients use transacted consumers.
>            Reporter: Norbert Pfistner
>            Assignee: Rob Davies
>            Priority: Trivial
>             Fix For: 5.3.0
>         Attachments: NonBrowsableMessaagesJConsole.jpg, NonBrowsableQueueEntries.jpg,
NonBrowsableQueueEntries.txt, NonBrowsableQueueEntryList.jpg
> We currently suffer from hanging messages in the JDBC persistant storage in our production
> Occasionally (once in a day or week) a few Messages (most time 1 or 2, sometimes more)
seems to stuck in the DB Table activemq_msg without being delivered even once to a consumer.
They are never deliverd to a consumer until the broker is rebooted. Strange enough new messages
produced into the same queue with those stuck messages are delivered to the consumers as normal.
It simply looks like the borker is blind about the stuck messages.
> Our system depends on processing every message, so missing even one of them is realy
a big problem in production.
> Everything seems to be fine: No warnings, errors or even debug logging gives any hint
about a problem. 
> Unfortunately we can't debug the broker 'cuse it's our production environment. Our Testing
envirenment is not capable to reproduce the problem (actually it's only one Machine with a
Broker and a signle jaboss running a small number of producers/clients).
> Our messaging characteristics show  moderate producers and slow consumers. The count
of simultanous messages is moderate (about 300-1000). Actually the producers have hot phases
generating bulks of Messages followed by phases of long inactivity. The consumers are slow
related to the producers but always keep within an hour or two. We do not experience any memory
> Because this bug may be related to,
I had a look at the code around the StoreCursors and stumbled apon a strange code fragment
called when removing entries.
> The suspicous code is found in
in 5.1.0, 5.2 .0 and 5.3.0:
>     public final synchronized void remove() {
>         size--;
>         if (size==0 && isStarted() && cacheEnabled) {
>             cacheEnabled=true;
>         }
>     }
> As far as i can see, the if statement ist actually a NOP, 'cause it will not modify cacheEnabled
in any case.
> Maybe this causes some strange effects when using the StoreCursor's derived from this

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

View raw message