[jboss-jira] [JBoss JIRA] Commented: (JBMESSAGING-1139) Problem with DownCache storage at JBM startup

Abel Mu￱oz Alcaraz (JIRA) jira-events at lists.jboss.org
Tue Nov 6 13:39:45 EST 2007


    [ http://jira.jboss.com/jira/browse/JBMESSAGING-1139?page=comments#action_12386243 ] 
            
Abel Mu￱oz 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 Mu￱oz 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

       




More information about the jboss-jira mailing list