4 Replies Latest reply on Aug 1, 2012 12:24 AM by clebert.suconic

    Clarification Needed on HornetQ Journal based Persistence

    smswamy

      Hi, I need a clarification.

       

      Our application is load balanced between multiple Hosts. Our HornetQ is clustered (Multicast). We have enabled persistence to true. Consider the below scenario,

       

      (1) Persistence is enabled using journals(file based) in HornetQ.

      (2) When one of my instance goes down, the messages processed by that instance is available for the other instances in the cluster to process.

      (3) When my queue itself goes down and comes back, what will happen ?

      (4) Consider the queue as well as one of the instance goes down. The instance is not re-started, only the Queue is started again. What will happen to the messages that were part of the downed instances journal.

       

      Will there be loss of packets ?

       

      Thanks.

        • 1. Re: Clarification Needed on HornetQ Journal based Persistence
          clebert.suconic

          (2) why are you making that assumption? Cluster != Failover on HornetQ. When one node goes down the messages are unavailable until you restart that node. You can select a backup node for your server and on that case the other nodes will take over.

           

          (3) it depends if you have a backup node or not. if you have a backup node, you could have a failback (if you have configured failback) and the load would then take over.

           

           

          (4) how can you start the queue without starting the server? your statement here doesn't make any sense.

           

           

           

          (5) (answering the loss of packets)....     as any other message system,  we guarantee that ACKed messages will be delivered. that means you have to control transactions properly and handle errors as in any other system.

          • 2. Re: Clarification Needed on HornetQ Journal based Persistence
            clebert.suconic

            On (5) by acked here I meant that the client got a confirmation about the send... (say.. if you used a blocking sender). 

            • 3. Re: Clarification Needed on HornetQ Journal based Persistence
              smswamy

              "(2) why are you making that assumption? Cluster != Failover on HornetQ. When one node goes down the messages are unavailable until you restart that node. You can select a backup node for your server and on that case the other nodes will take over."

               

              Will you please elaborate on this. I understand that when there are 4 nodes and one node goes down, in a cluster environment, all the messages that are being processed by the consumer( in the node that went down) maynot acknowledge and it will be available for the other nodes to process.

               

               

              "(4) how can you start the queue without starting the server? your statement here doesn't make any sense."

                   Consider my application is load balanced between 4 nodes and all the node goes down.  Apart from one node, I restart all other nodes. As I had said all are in cluster environment. The message persistence happens using journals. What will happen to the messages that are stored in the journal of the node that went down ? Can you please clarify on this part. I may or maynot restart the same node and I may bring in more nodes if there is a need.

               

              please clarify me when a node adds a message into the clustered queue, will the queue packet information will be stored in all other nodes journals that are part of the cluster ?

              • 4. Re: Clarification Needed on HornetQ Journal based Persistence
                clebert.suconic

                (2) you should read the manual. The chapter about backup/failover.

                 

                 

                (4) this all is documented.. can you make specific question rather than asking me to rewrite what's been documented already?