4 Replies Latest reply on Aug 11, 2014 8:14 AM by anexplore

    "Destination address=xxxx is blocked ", but i had set full policy to PAGE

    anexplore

      In the hornetq client logs:

                "Destination address=jms.queue.fetch-queue2 is blocked. If the system is configured to block make sure you consume messages on this configuration"

      But i had set <address-full-policy>PAGE</address-full-policy>, any thing wrong?

       

      i have set max queue memory to 1.5G, and hornetq used max 4G and min 2G memory. In my distributed system,there are one client continuously send msg to queue A, and there are 5 client get msg from queue A and then send new msg to queue B,there are also 5 clients to get msg from queue B.

        • 1. Re: "Destination address=xxxx is blocked ", but i had set full policy to PAGE
          clebert.suconic

          I would need to see your address settings to see if you did anything wrong. The settings are hierarchical so it all depends on how you configured it.

          • 2. Re: "Destination address=xxxx is blocked ", but i had set full policy to PAGE
            anexplore

            Thanks for your reply.

            This is the address-settings.

               <address-settings>

                  <!--default for catch all-->

                   <address-setting match="jms.queue.fetch-queue2">

                     <max-size-bytes>1610612736</max-size-bytes>

                     <page-size-bytes>104857600</page-size-bytes>

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

                  </address-setting>

                   <address-setting match="jms.queue.extract-queue2">

                     <max-size-bytes>1610612736</max-size-bytes>

                     <page-size-bytes>104857600</page-size-bytes>

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

                  </address-setting>

              </address-settings>

             

            This is the connection factory settings.

             

               <connection-factory name="NettyConnectionFactory">

                  <xa>false</xa>

                  <connectors>

                     <connector-ref connector-name="netty"/>

                  </connectors>

                  <entries>

                     <entry name="/ConnectionFactory"/>

                  </entries>

                  <min-large-message-size>4000000</min-large-message-size>

                  <block-on-durable-send>false</block-on-durable-send>

                  <block-on-non-durable-send>false</block-on-non-durable-send>

                  <retry-interval>2000</retry-interval>

                  <retry-interval-multiplier>1.5</retry-interval-multiplier>

                  <max-retry-interval>120000</max-retry-interval>

                  <reconnect-attempts>50000</reconnect-attempts>

                  <client-failure-check-period>120000</client-failure-check-period>

                  <connection-ttl>300000</connection-ttl>

              </connection-factory>

            • 3. Re: "Destination address=xxxx is blocked ", but i had set full policy to PAGE
              clebert.suconic

              Why don't you add a default "#" for all your addresses instead? Can you try that?

               

              if the error still persist give me a thread dump (from a kill -3 output, or the jvm command to extract thread dumps (which I don't remember now))

               

              what happens is this message will be print if no flow control happens in 10 seconds. The client logger will assume the flow control took this long because of blocking. But it could be your server is busy or something else like that.

              • 4. Re: "Destination address=xxxx is blocked ", but i had set full policy to PAGE
                anexplore

                In the server logs:

                Connection failure has been detected: HQ119014: Did not receive data from /192.168.15.216:56935. It is likely the client has exited or crashed without closing its connection, or the network between the server and client has failed. You also might have configured connection-ttl and client-failure-check-period incorrectly. Please check user manual for more information. The connection will now be closed. [code=CONNECTION_TIMEDOUT]

                 

                hornetq jstack & heap

                using thread-local object allocation.

                Parallel GC with 4 thread(s)

                 

                 

                Heap Configuration:

                   MinHeapFreeRatio = 40

                   MaxHeapFreeRatio = 70

                   MaxHeapSize      = 4294967296 (4096.0MB)

                   NewSize          = 1310720 (1.25MB)

                   MaxNewSize       = 17592186044415 MB

                   OldSize          = 5439488 (5.1875MB)

                   NewRatio         = 2

                   SurvivorRatio    = 8

                   PermSize         = 21757952 (20.75MB)

                   MaxPermSize      = 85983232 (82.0MB)

                   G1HeapRegionSize = 0 (0.0MB)

                 

                 

                Heap Usage:

                PS Young Generation

                Eden Space:

                   capacity = 1090519040 (1040.0MB)

                   used     = 219838248 (209.65409088134766MB)

                   free     = 870680792 (830.3459091186523MB)

                   20.15904720012958% used

                From Space:

                   capacity = 162529280 (155.0MB)

                   used     = 93143120 (88.82820129394531MB)

                   free     = 69386160 (66.17179870605469MB)

                   57.308516963835686% used

                To Space:

                   capacity = 165675008 (158.0MB)

                   used     = 0 (0.0MB)

                   free     = 165675008 (158.0MB)

                   0.0% used

                PS Old Generation

                   capacity = 2486173696 (2371.0MB)

                   used     = 1708316040 (1629.177131652832MB)

                   free     = 777857656 (741.822868347168MB)

                   68.71265844170527% used

                PS Perm Generation

                   capacity = 24641536 (23.5MB)

                   used     = 23992992 (22.881500244140625MB)

                   free     = 648544 (0.618499755859375MB)

                   97.36808614527925% used

                 

                 

                7863 interned Strings occupying 727816 bytes.

                 

                 

                Part::

                "Thread-6 (HornetQ-server-HornetQServerImpl::serverUUID=0613c542-1d77-11e4-b9a1-31bb0f1c9294-1353211649)" prio=10 tid=0x00007f0704052800 nid=0x4e8d waiting on condition [0x00007f0758153000]

                   java.lang.Thread.State: WAITING (parking)

                        at sun.misc.Unsafe.park(Native Method)

                        - parking to wait for  <0x000000070020ec50> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

                        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)

                        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)

                        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)

                        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)

                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)

                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

                        at java.lang.Thread.run(Thread.java:744)

                 

                 

                "Thread-1 (hornetq-netty-threads-468089718)" daemon prio=10 tid=0x00007f06e4006800 nid=0x4e8c runnable [0x00007f0759255000]

                   java.lang.Thread.State: RUNNABLE

                        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)

                        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)

                        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)

                        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)

                        - locked <0x0000000700a21208> (a io.netty.channel.nio.SelectedSelectionKeySet)

                        - locked <0x0000000700a39260> (a java.util.Collections$UnmodifiableSet)

                        - locked <0x0000000700a21098> (a sun.nio.ch.EPollSelectorImpl)

                        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)

                        at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:596)

                        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)

                        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)

                        at java.lang.Thread.run(Thread.java:744)

                 

                 

                "RMI Scheduler(0)" daemon prio=10 tid=0x00007f06fc005800 nid=0x4e8b waiting on condition [0x00007f0759356000]

                   java.lang.Thread.State: TIMED_WAITING (parking)

                        at sun.misc.Unsafe.park(Native Method)

                        - parking to wait for  <0x0000000700434518> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

                        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

                        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)

                        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)

                        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)

                        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)

                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)

                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

                        at java.lang.Thread.run(Thread.java:744)

                 

                 

                "DestroyJavaVM" prio=10 tid=0x00007f076400a000 nid=0x4e53 waiting on condition [0x0000000000000000]

                   java.lang.Thread.State: RUNNABLE