[jboss-user] [Messaging, JMS & JBossMQ] - Re: [4.0.3SP1] NPE in BasicQueue.setupMessageAcknowledgement
do-not-reply at jboss.com
Wed Oct 25 11:08:50 EDT 2006
"joergvf" wrote : "genman" wrote : One thing to check is if the message cache is being used. There is an MBean with cache hits and misses. Miss would mean it's loading messages from the DB.
| I looked at the MessageCache MBean and it shows 29083 cache misses. Now when exactly is a message deleted from the DB? Why can we run into PersistenceManager.loadFromStorage() after the message is already deleted from DB?
MessageRef has synchronize blocks to prevent exactly this from happening, but that only works if we have exactly one MessageRef object per row in the database. Unfortunately, it looks like there is one MessageRef object created per message and durable subscriber id, while the durable subscriber id is not part of the primary key in the database.
If you look at the call hierarchy of the MessageRef constructor you can see that for one message being added, JMSTopic iterates the durable subscribers resulting in a call to the MessageRef constructor for each durable subscriber/message combination.
Should I raise a JIRA issue on this one?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3980729#3980729
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3980729
More information about the jboss-user