1 2 Previous Next 18 Replies Latest reply on Feb 6, 2012 11:03 PM by Todd Gould

    JMS Message expiration with paging

    Todd Gould Novice

      We are working with version 2.2.5.Final in JBoss-6.1.0.Final.

       

      Our appliction requires a durable JMS topic with mutliple durable subscribers connected to it.  Our clients occassionally disappear for extended periods, so we are sure to set message expiration parameters on each message we send in order to properly time out the messages.

       

      This all works just fine until we enable paging.  Without paging, the messages are automatically expired and removed from consideration once the expiration window has been exceeded - the journal files shrink up nicely in accordance with that.  However, we must enable paging as our subscriber count, message load and expiration window could potentially easily overrun the JVM memory size.  In such cases, we cannot afford to BLOCK and prevent presently attached subscribers from receiving new messages.

       

      Unfortunately, when we enable PAGE, it appears that messages for presently non-connected subscribers will NOT expire and be removed from the paging directory.  They will get expired/removed upon re-connection of ALL of the previously subscribed durable connections.  However, we do not control if or when this may happen.  An ocassional client may never connect again.  This results in appranently boundless growth of paging files on the disk.  This would obviously jepordize the entire functionality if the disk partition becomes full.

       

      Is there any way to have those expired messages removed from the paging area so that growth is no longer boundless for potentially abandoned durable subscriptions?  Alternatively, is there anyway to combine both a PAGE and DROP policy for this seemingly common scenario to affectively address the same concerns?  Is there a better way to handle this situation?

       

      We have configured our address to include PAGEing as follows:

       

      {code:xml}

         <address-settings>

            <!--default for catch all-->

            <address-setting match="#">

               <dead-letter-address>jms.queue.DLQ</dead-letter-address>

      <!--  Removed as we do not need to know about expired messages

               <expiry-address>jms.queue.ExpiryQueue</expiry-address>

      -->

               <redelivery-delay>0</redelivery-delay>

               <page-size-bytes>1048576</page-size-bytes>      

               <max-size-bytes>10485760</max-size-bytes>      

               <message-counter-history-day-limit>10</message-counter-history-day-limit>

               <address-full-policy>PAGE</address-full-policy>

            </address-setting>

         </address-settings>


      {code}

       

      We also have out connection-factory configured to inlcude:

       

       

      {code:xml}

      <connection-ttl>10000</connection-ttl>
      <client-failure-check-period>10000</client-failure-check-period>

      {code}

       

      Our test case is fairly simple:

       

      1. Create a JMS topic
      2. Attach two durable subscribers to the JMS topic
      3. Attach s single durable producer to the topic that continuously sends durable messages to the topic with an expiration window (30 seconds) and client acknowldegment
      4. temporarily stop (but not unsubscribe) one of the 2 clients - simulating client failure which we must account for
      5. As time progresses, the system will begin to page
      6. As further time progresses and the expiration window has been clearly exceeded, the paging files continue to grow unbounded
      7. Paging files will not be removed until the client disconnected in #4 is re-attached (but this may never happen)

       

      I would appreciate any and all help with this as it is critical to our needs and seems like it must be a fairly common need.

       

      TIA!

        • 1. Re: JMS Message expiration with paging
          Clebert Suconic Master

          I'm pretty sure this is fixed on 2.2.10. Can you try downloading the Branch?

           

          We are working towards a 2.3.0 now

          1 of 1 people found this helpful
          • 2. Re: JMS Message expiration with paging
            Justin Bertram Master

            I second this opinion.  I worked with a use-case very similar to this and a move to 2.2.8 (which was the latest at the time) solved the problem.  As Clebert mentioned, I think pulling http://anonsvn.jboss.org/repos/hornetq/tags/HornetQ_2_2_10_AS7_Final/ and running build.sh is your best bet at this point.

            1 of 1 people found this helpful
            • 3. Re: JMS Message expiration with paging
              Todd Gould Novice

              Clebert, Justin, thank you for your replies.  I am glad to hear that this has been fixed, and I look forward to trying out the revised version.  Unfortunately, we are prevented from downloading un-published versions on this program.  Is there any chance that a 2.2.10 version could be published prior to 2.3?

              • 4. Re: JMS Message expiration with paging
                Todd Gould Novice

                Ok, I have gotten permission to perform the checkout and build.  I have pulled the src from SVN.  However, I am running into probelms with the build as we are behind a firewall.  What do I need to modify to allow maven, etc to use the proxy to pull what it needs to?

                • 5. Re: JMS Message expiration with paging
                  Clebert Suconic Master

                  What errors are you getting?

                   

                  I wasn't aware it was using anything specific to an internal maven. it should be all independent.

                   

                  Can you try this branch? https://svn.jboss.org/repos/hornetq/branches/Branch_2_2_AS7/

                   

                  It has everything you need anyways...

                  • 6. Re: JMS Message expiration with paging
                    Todd Gould Novice

                    I have tried both suggested repositories and get the same error with both:

                     

                    maven-install:

                         [java] [INFO] Scanning for projects...

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] Building HornetQ

                         [java] [INFO]    task-segment: [initialize]

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] artifact org.jboss.maven.plugins:maven-buildmagic-thirdparty-plugin: checking for

                    updates from jboss.release

                         [java] [WARNING] repository metadata for: 'artifact org.jboss.maven.plugins:maven-buildmagic-th

                    irdparty-plugin' could not be retrieved from repository: jboss.release due to an error: Error transf

                    erring file: Connection timed out: connect

                         [java] [INFO] Repository 'jboss.release' will be blacklisted

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [ERROR] BUILD ERROR

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] The plugin 'org.jboss.maven.plugins:maven-buildmagic-thirdparty-plugin' does not

                    exist or no valid version could be found

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] For more information, run Maven with the -e switch

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] Total time: 21 seconds

                         [java] [INFO] Finished at: Thu Jan 26 11:30:20 MST 2012

                         [java] [INFO] Final Memory: 2M/15M

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] Java Result: 1

                     

                    When I add the -e to the Maven command I get:

                     

                    maven-install:

                         [java] + Error stacktraces are turned on.

                         [java] [INFO] Scanning for projects...

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] Building HornetQ

                         [java] [INFO]    task-segment: [initialize]

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] artifact org.jboss.maven.plugins:maven-buildmagic-thirdparty-plugin: checking for

                    updates from jboss.release

                         [java] [WARNING] repository metadata for: 'artifact org.jboss.maven.plugins:maven-buildmagic-th

                    irdparty-plugin' could not be retrieved from repository: jboss.release due to an error: Error transf

                    erring file: Connection timed out: connect

                         [java] [INFO] Repository 'jboss.release' will be blacklisted

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [ERROR] BUILD ERROR

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] The plugin 'org.jboss.maven.plugins:maven-buildmagic-thirdparty-plugin' does not

                    exist or no valid version could be found

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] Trace

                         [java] org.apache.maven.lifecycle.LifecycleExecutionException: The plugin 'org.jboss.maven.plug

                    ins:maven-buildmagic-thirdparty-plugin' does not exist or no valid version could be found

                         [java]     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycle

                    Executor.java:1569)

                         [java]     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.bindPluginToLifecycle(Default

                    LifecycleExecutor.java:1503)

                         [java]     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.constructLifecycleMappings(De

                    faultLifecycleExecutor.java:1282)

                         [java]     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleE

                    xecutor.java:534)

                         [java]     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(

                    DefaultLifecycleExecutor.java:387)

                         [java]     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLi

                    fecycleExecutor.java:348)

                         [java]     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecu

                    tor.java:180)

                         [java]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)

                         [java]     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)

                         [java]     at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)

                         [java]     at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)

                         [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                         [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                         [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java

                    :25)

                         [java]     at java.lang.reflect.Method.invoke(Method.java:597)

                         [java]     at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)

                         [java]     at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)

                         [java]     at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)

                         [java]     at org.codehaus.classworlds.Launcher.main(Launcher.java:375)

                         [java] Caused by: org.apache.maven.plugin.version.PluginVersionNotFoundException: The plugin 'o

                    rg.jboss.maven.plugins:maven-buildmagic-thirdparty-plugin' does not exist or no valid version could

                    be found

                         [java]     at org.apache.maven.plugin.version.DefaultPluginVersionManager.resolvePluginVersion(

                    DefaultPluginVersionManager.java:229)

                         [java]     at org.apache.maven.plugin.version.DefaultPluginVersionManager.resolvePluginVersion(

                    DefaultPluginVersionManager.java:91)

                         [java]     at org.apache.maven.plugin.DefaultPluginManager.verifyPlugin(DefaultPluginManager.ja

                    va:179)

                         [java]     at org.apache.maven.plugin.DefaultPluginManager.loadPluginDescriptor(DefaultPluginMa

                    nager.java:1642)

                         [java]     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycle

                    Executor.java:1540)

                         [java]     ... 18 more

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] [INFO] Total time: 21 seconds

                         [java] [INFO] Finished at: Thu Jan 26 11:55:38 MST 2012

                         [java] [INFO] Final Memory: 2M/15M

                         [java] [INFO] ------------------------------------------------------------------------

                         [java] Java Result: 1

                     

                    BUILD FAILED

                    C:\PROJECTS\GSIN\HornetQ_2.2.10\build.xml:49: The following error occurred while executing this line

                    :

                    C:\PROJECTS\GSIN\HornetQ_2.2.10\build-thirdparty.xml:108: Unable to build maven modules.  See maven

                    output for details.

                    • 7. Re: JMS Message expiration with paging
                      Todd Gould Novice

                      I strongly suspect (but cannot prove) that our corporate firewall is blocking something key here.  I have verified my Maven settings.xml is correctly configured to use our proxy server.  I have also verified that I can access the URL in question via my browser (which is using the same proxy).  However, Maven continues to fail.  After enabling debug on Maven I can see this which points to socket connection timeout (hence my firewall theory).

                       

                       

                      {code:xml}

                      [java] [DEBUG] Using Proxy: [redacted by poster]
                      [java] [DEBUG] Using Wagon implementation lightweight from default mapping for protocol https
                      [java] [WARNING] repository metadata for: 'artifact org.jboss.maven.plugins:maven-buildmagic-th

                      irdparty-plugin' could not be retrieved from repository: jboss.release due to an error: Error transf

                      erring file: Connection timed out: connect

                      [java] [DEBUG] Exception
                      [java] org.apache.maven.wagon.TransferFailedException: Error transferring file: Connection time

                      d out: connect

                      [java] at org.apache.maven.wagon.providers.http.LightweightHttpWagon.fillInputData(Lightwei

                      ghtHttpWagon.java:143)

                      [java] at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:116)
                      [java] at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
                      [java] at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
                      [java] at org.apache.maven.artifact.manager.DefaultWagonManager.getRemoteFile(DefaultWagonM

                      anager.java:546)

                      [java] at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifactMetadata(Default

                      WagonManager.java:443)

                      [java] at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.re

                      solve(DefaultRepositoryMetadataManager.java:97)

                      [java] at org.apache.maven.artifact.transform.AbstractVersionTransformation.resolveVersion(

                      AbstractVersionTransformation.java:65)

                      [java] at org.apache.maven.artifact.transform.LatestArtifactTransformation.transformForReso

                      lve(LatestArtifactTransformation.java:41)

                      [java] at org.apache.maven.artifact.transform.DefaultArtifactTransformationManager.transfor

                      mForResolve(DefaultArtifactTransformationManager.java:55)

                      [java] at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifac

                      tResolver.java:145)

                      [java] at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifac

                      tResolver.java:90)

                      [java] at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(Defau

                      ltMavenProjectBuilder.java:558)

                      [java] at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMa

                      venProjectBuilder.java:251)

                      [java] at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedProject(Ma

                      venMetadataSource.java:163)

                      [java] at org.apache.maven.project.artifact.MavenMetadataSource.retrieve(MavenMetadataSourc

                      e.java:299)

                      [java] at org.apache.maven.plugin.version.DefaultPluginVersionManager.resolveMetaVersion(De

                      faultPluginVersionManager.java:673)

                      [java] at org.apache.maven.plugin.version.DefaultPluginVersionManager.resolvePluginVersion(

                      DefaultPluginVersionManager.java:187)

                      [java] at org.apache.maven.plugin.version.DefaultPluginVersionManager.resolvePluginVersion(

                      DefaultPluginVersionManager.java:91)

                      [java] at org.apache.maven.plugin.DefaultPluginManager.verifyPlugin(DefaultPluginManager.ja

                      va:179)

                      [java] at org.apache.maven.plugin.DefaultPluginManager.loadPluginDescriptor(DefaultPluginMa

                      nager.java:1642)

                      [java] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycle

                      Executor.java:1540)

                      [java] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.bindPluginToLifecycle(Default

                      LifecycleExecutor.java:1503)

                      [java] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.constructLifecycleMappings(De

                      faultLifecycleExecutor.java:1282)

                      [java] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleE

                      xecutor.java:534)

                      [java] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(

                      DefaultLifecycleExecutor.java:387)

                      [java] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLi

                      fecycleExecutor.java:348)

                      [java] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecu

                      tor.java:180)

                      [java] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
                      [java] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
                      [java] at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
                      [java] at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
                      [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                      [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java

                      :25)

                      [java] at java.lang.reflect.Method.invoke(Method.java:597)
                      [java] at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
                      [java] at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
                      [java] at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
                      [java] at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
                      [java] Caused by: java.net.ConnectException: Connection timed out: connect
                      [java] at java.net.PlainSocketImpl.socketConnect(Native Method)
                      [java] at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
                      [java] at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
                      [java] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
                      [java] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
                      [java] at java.net.Socket.connect(Socket.java:529)
                      [java] at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:559)
                      [java] at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141

                      )

                      [java] at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
                      [java] at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
                      [java] at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
                      [java] at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:272)
                      [java] at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329)
                      [java] at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Ab

                      stractDelegateHttpsURLConnection.java:172)

                      [java] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:9

                      16)

                      [java] at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDel

                      egateHttpsURLConnection.java:158)

                      [java] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java

                      :1177)

                      [java] at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
                      [java] at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnect

                      ionImpl.java:318)

                      [java] at org.apache.maven.wagon.providers.http.LightweightHttpWagon.fillInputData(Lightwei

                      ghtHttpWagon.java:115)

                      [java] ... 39 more
                      [java] [INFO] Repository 'jboss.release' will be blacklisted

                      {code}

                       

                      I have no ability to affect firewall, so I do not believe I am going to be able to build.  Is there any chance you can post an interim version for download please?

                      • 8. Re: JMS Message expiration with paging
                        Clebert Suconic Master

                        jboss.org has the possibility of sending private messages...

                         

                         

                        I have sent you a private message, so we can setup how I could help you. Please answer to the email I posted on your private message.

                        • 9. Re: JMS Message expiration with paging
                          Todd Gould Novice

                          We have recently been testing this scenario with 2.2.11.Final (thanks Clebert!).

                           

                          Intial testing of this scenario looked promising under stetady-state cluster operations.  That is to say that, once we get into PAGEing mode, the number of page files grows up to a level based upon message load and hornetq configuration and then expiration kicks in and starts to expire messsages out of the page files and those page files no longer grow boundlessly.  Unfortunately, this is only under those steady state conditions.  Incidentlally, we have found that it is important to configure the expiration configuration parameters to match our expected incoming message load - ours is very high (escpecially while testing).  Without these, expiration appears to get behind the incoming message load and the PAGE files will still appear to grow rather quickly.  We are using:

                           

                           

                          {code:xml}

                             <message-expiry-scan-period>2000</message-expiry-scan-period>

                             <message-expiry-thread-priority>6</message-expiry-thread-priority>

                          {code}

                           

                           

                          Back to the real remaining issue...   Once we cease to have steady-state cluster operations, the expiration appears to stop removing messages from the PAGE file.  For example, if we kill the Live server and successfully failover to a backup server, then the PAGE files will begin to grow apparently boundlessly again (i.e. expiration is no longer occuring from the PAGE files).  Even if we subsequently restart the original Live server (effectively restoring the original cluster), the expiration out of the PAGE files does not resume.  Even a forced stop and restart of all cluster servers and clients (with the single excpetion of this test cases 'disappearing' client) will not successfully resume expiration out of the page files.  Restarting the 'disappearing' client, will in fact cause the expiration of those messages - however, we cannot rely on that client ever returning in some cases - certainly not in a timely enough manner to avoid exposing our server to unintentional file system full conditions.

                           

                          There appears to be an issue here related to clustering, but I'm not sure how to better characterize it or if this is already a know issue?  I appreciate your continued assistance!

                          • 10. Re: JMS Message expiration with paging
                            Clebert Suconic Master

                            Are you getting messages expired on live (before failover) even without any consumers?

                            • 11. Re: JMS Message expiration with paging
                              Todd Gould Novice

                              Yes.  Given the following test case, we are seeing the expired messages removed from the PAGE file when on live or within a steady state cluster.

                               

                              1. Create a JMS topic
                              2. Attach two durable subscribers to the JMS topic
                              3. Attach s single durable producer to the topic that continuously sends durable messages to the topic with an expiration window (30 seconds) and client acknowldegment
                              4. temporarily stop (but not unsubscribe) one of the 2 clients - simulating client failure which we must account for
                              5. As time progresses, the system will begin to page
                              6. As further time progresses and the expiration window has been clearly exceeded, the paging files continue to grow until expiration kicks in
                              7. Paging files are removed as part of expiration UNTIL the cluster is no longer in steady state (i.e. live is killed)
                              8. Nothing (even restoring the original luve server) will cause expiration to resume working after the original failue.
                              • 12. Re: JMS Message expiration with paging
                                Clebert Suconic Master

                                I will ask you a favor... Can you test this following scenario?

                                 

                                 

                                - Create a JMS Topic

                                - Create two durable subscribers to the topic

                                - Restart the system

                                - Start the producer

                                 

                                - Please evaluate if Paging is being expired.

                                 

                                 

                                That would help me understanding what's happening there.. and I can them run a few tests here.

                                 

                                 

                                If you have a testcase it's even better.

                                • 13. Re: JMS Message expiration with paging
                                  Todd Gould Novice

                                  I will test this explicity as you have asked tomorrow.  However, I believ we have already tested something very similar today.

                                   

                                  We:

                                  - created a JMS topic

                                  - created two durable subscribers

                                  - started the producer

                                  - disconnected one of the subscribers

                                  - verified that both PAGEing and expiration out of PAGE files were successfully occurring ... this is good so far

                                  - failed the live server and verified that both the producer and remaining subscriber were succesffully failed over and functioning correctly on the backup

                                  - saw that while PAGEing continued, there were no further expirations from teh PAGE files (i.e. the numebr of PAGE files continued to grow without bound) ... this is where the problem first manifests itself

                                  - restarted the original live server and again saw that while PAGEing continued, there were no further expirations from teh PAGE files (i.e. the numebr of PAGE files continued to grow without bound)

                                  - then we stopped both the live and backup and remaining subscriber (shut everything down)

                                  - then we restarted both the live and backup (like the restart you are asking for) and one of the cosnumers (the one that remained connected).  Again, we saw that while PAGEing continued, there were no further expirations from teh PAGE files (i.e. the numebr of PAGE files continued to grow without bound)

                                   

                                  It seems to stop expiring once the backup needs to take over from the live server from some reason.  I will try the explicit steps to include a restart before starting the producer tomorrow, but I'm hopeful that the above may be useful as well.

                                   

                                  I wish I could send you a test case, but I'm not sure we could script the starts and stops of a live and backup instance in any reasonable amount of code.  It's probably easier to describe in steps as we have been.

                                  • 14. Re: JMS Message expiration with paging
                                    Clebert Suconic Master

                                    But you had a consumer at one point.

                                     

                                    What I'm trying to find out is what will happen when you start a system with core-queues created and no consumer at all right upfront.

                                    1 2 Previous Next