1 Reply Latest reply on Dec 7, 2016 3:15 AM by Oluwasegun Diyan

    Transaction Management Within Cluster

    Oluwasegun Diyan Newbie

      I have successfully been able to setup a domain and cluster 2 main server groups.

      Each server group has been tied to a load balancer group with it's own multicast IP and load balancer name. Mod_cluster config in domain.xml has also been configured to recognize these load balancer names.

       

      mod_cluster + httpd has been installed correctly and I can access the mod_cluster_manager via a browser and view the entire topology with load balancer groups and nodes all displayed correctly as desired.

      Apache's main port is .80 while the mod_cluster_manager listens on port 10001 via a virtual host config as explained in the documentation.

       

      However I'm now faced with a different challenge.

      I find that once I create a new node for a cluster in a different physical server, I keep getting transaction issues. It seems as though both application instances on the 2 different nodes (on 2 different physical servers) are trying to process the same JMS message at the same time. As a result I get the following Error: SynchronizationCallbackCoordinatorNonTrackingImpl:183 - HHH000346: Error during managed flush [Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)

       

      This error happens atleast once in every 4 JMS messages processed. I'm using an MDB as a message listener for the queue.

       

      Please understand that this was not happening when I ran the application as a standalone deployment without any sort of clustering. I thus feel this is still related to the posted question.

       

      Your advise or recommendations would be appreciated!