[
http://jira.jboss.com/jira/browse/JBMESSAGING-1139?page=comments#action_1... ]
Abel Muoz Alcaraz commented on JBMESSAGING-1139:
-------------------------------------------------
Hi Peter,
thanks for your comment.
Have you try to send 201 messages?
When the message 200 arrives to the queue (becouse 200 = 50 (fullSize) + 30 *
5(downCacheSize)), the queue flush the downCache automatically.
Currently, I have a solution with a little modification of PagingChannelSupport.java,
but... I don't like it.
<code>
public void unload() throws Exception
{
synchronized (lock)
{
if (active)
{
throw new IllegalStateException("Cannot unload channel when
active");
}
if (paging)
{
flushDownCache();
}
else
{
downCache.clear();
}
messageRefs.clear();
paging = false;
firstPagingOrder = nextPagingOrder = 0;
clearAllScheduledDeliveries();
}
}
</code>
This solution works if you stop the server in a controled way (shutdown.sh, service stop,
JMX call,..) but if your server deads in a uncontroled way then your destinations will not
deploy at startup.
I´m working in a more robust solution. I will have it along this week (it is in test
stage).
Problem with DownCache storage at JBM startup
---------------------------------------------
Key: JBMESSAGING-1139
URL:
http://jira.jboss.com/jira/browse/JBMESSAGING-1139
Project: JBoss Messaging
Issue Type: Bug
Components: Messaging Core
Affects Versions: 1.4.0.SP1
Environment: OS: Windows XP SP2 / Linux RedHat
JDK: Sun 1.5.0 Update 12 / 13
JBAS: 4.2.1.GA (Non-Clustered)
JBM: 1.4.0.SP1 (Non-Clustered)
DBMS: PostgreSQL 8.2.4 / 8.2.5
Reporter: Abel Muoz Alcaraz
Assigned To: Tim Fox
Fix For: 2.0.0 Alpha, Stable branch
PRECONDITIONS:
A non-clustered fresh installation of JBM 1.4.0.SP1 in a JBAS 4.2.1.GA with PostgreSQL
8.2.4.
WORKFLOW:
1.- Install JBAS 4.2.1 with PostgresSQL in a Non-Clustered environment
2.- Inslall JBM 1.4.0.SP1
3.- Startup JBAS with JBM.
4.- Send 200100 messages (1K each one) to '/queue/testQueue'.
5.- Stop the AS
6.- Startup the AS.
POSTCONDITIONS:
There are 200100 message references in jbm_msg_ref with page_ord = null (100 belongs to
unflushed downCache).
When you try to boot AS it says: "Cannot load channel x since the fullSize parameter
is too small to
load all the required references, fullSize needs to be at least 200100 it is currently
200000".
This is done (it seems) becouse when I shutdown the server the downCache is not flushed.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira