Uploaded image for project: 'WildFly WIP'
  1. WildFly WIP
  2. WFWIP-287

MP Fault Tolerance - Hystrix is initialized by random module from EAR

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Critical Critical
    • MP Config
    • None
    • Hide

      NOT 100% reproducer will it issue in 50% of run as it's random which MP FT module from EAR gets loaded

      Steps to reproduce:

      • Build Wildfly with MP FT:
      • Run the test by (provide path to build Wildfly server):
        git clone git@github.com:mnovak1/eap-microprofile-test-suite.git
        cd eap-microprofile-test-suite
        git checkout EAP7-1347 # checkout the right branch
        mvn clean verify -DfailIfNoTests=false -Darquillian.deploymentExportPath=target/deployments/ -Djboss.home=$WILDFLY_HOME -P mp-ft -Dtest=MultipleFaultToleranceModuleEarTest#testFirstModuleConfiguresHystrix
        
      Show
      NOT 100% reproducer will it issue in 50% of run as it's random which MP FT module from EAR gets loaded Steps to reproduce: Build Wildfly with MP FT: https://github.com/rhusar/wildfly/tree/WFLY-12590 Commit: 3ff9787ca147a45c1651fe1946b02c07c0a6ad15 Run the test by (provide path to build Wildfly server): git clone git@github.com:mnovak1/eap-microprofile-test-suite.git cd eap-microprofile-test-suite git checkout EAP7-1347 # checkout the right branch mvn clean verify -DfailIfNoTests= false -Darquillian.deploymentExportPath=target/deployments/ -Djboss.home=$WILDFLY_HOME -P mp-ft -Dtest=MultipleFaultToleranceModuleEarTest#testFirstModuleConfiguresHystrix
    • Workaround Exists
    • Hide

      Use globally scoped configuration for Hystrix and not bundled within deployments - which is the general recommendation regardless.

      Show
      Use globally scoped configuration for Hystrix and not bundled within deployments - which is the general recommendation regardless.

      If EAR container 2 MP FT modules where each has different configuration for Hystrix then it is initialized by randomly and does not respect module deployment order defined in META-INF/application.xml:

      <?xml version="1.0" encoding="UTF-8"?>
      <application xmlns="http://java.sun.com/xml/ns/javaee"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"
                   version="6">
          <initialize-in-order>true</initialize-in-order>
          <module>
              <web>
                  <web-uri>first-module.war</web-uri>
                  <context-root>first-module</context-root>
              </web>
          </module>
          <module>
              <web>
                  <web-uri>second-module.war</web-uri>
                  <context-root>second-module</context-root>
              </web>
          </module>
      </application>
      

      It's expected that first-module would configured Hystric based on above application.xml.

            rhn-engineering-rhusar Radoslav Husar
            mnovak1@redhat.com Miroslav Novak
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: