Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-7608

EAP 7.4.15 VFS changes make drools PMML tests fail

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • None
    • None
    • kie server
    • None
    • NEW
    • NEW
    • ---
    • ---

      After upgrading EAP to 7.4.15, some integration Drools tests have started to fail.

       
      Expected SUCCESS, but got FAILURE! Response: ServiceResponse[FAILURE, msg='Failed to create container scorecard with module org.kie.server.testing:scorecard:1.0.0.Final: java.lang.RuntimeException: The requested KieBase "KiePMML-Scorecard" does not exist', result='null'] expected:<SUCCESS> but was:<FAILURE>

      Digging into traces:

      [INFO] [talledLocalContainer] 10:32:12,639 INFO [org.drools.compiler.kie.builder.impl.ClasspathKieProject] (default task-2) Virtual file physical path = /home/gmunozfe/git/droolsjbpm-integration/kie-server-parent/kie-server-tests/kie-server-integ-tests-drools/target/cargo/configurations/wildfly23x/tmp/vfs/deployment/deploymentca04ae6074532a62/kie-pmml-7.75.0-SNAPSHOT.jar-1dfc2ecc51411097/content
      [INFO] [talledLocalContainer] 10:32:12,646 ERROR [org.drools.compiler.kie.builder.impl.ClasspathKieProject] (default task-2) Unable to load pom.properties from/home/gmunozfe/git/droolsjbpm-integration/kie-server-parent/kie-server-tests/kie-server-integ-tests-drools/target/cargo/configurations/wildfly23x/tmp/vfs/deployment/deploymentca04ae6074532a62/kie-pmml-7.75.0-SNAPSHOT.jar-1dfc2ecc51411097/content as jarPath cannot be found

      As it is highlighted, the path ends with "/content", this is due jarPath doesn't exist:
      https://github.com/kiegroup/drools/blob/53b1cd439d2a768924561dff2281d2694f736b71/drools-compiler/src/main/java/org/drools/compiler/kie/builder/impl/ClasspathKieProject.java#L498

      Therefore "/content" is added, but no pom is there.

      This EAP change WFLY-18544 seems to be related, as we can see now, each jar is only deployed once:

      [gmunozfe@gmunozfe-thinkpadp1gen3 vfs]$ find . -name kie-pmml-7.75*.jar
      ./temp/temp17a762bef39b01fc/content-f87f0762d3e88fc2/WEB-INF/lib/kie-pmml-7.75.0-SNAPSHOT.jar

      On the other hand, in previous versions of wildfly, we can find it i vfs twice:

      [gmunozfe@gmunozfe-thinkpadp1gen3 vfs]$ find . -name kie-pmml-7.75*.jar
      ./temp/tempa383fca85b92fbf6/content-e8642b464f7c1e0e/WEB-INF/lib/kie-pmml-7.75.0-SNAPSHOT.jar
      ./deployment/deploymentc07e41394eb2de2b/kie-pmml-7.75.0-SNAPSHOT.jar-c878b10acb24a338/kie-pmml-7.75.0-SNAPSHOT.jar

      Last one is the expected in drools code to create the container, however now it's not present.

      As a result of this, container is not deployed and tests fail.

      It's reproducible with this kie-server-integ-tests-drools test:

      mvn clean install -Peap7 -Deap7.download.url="http://download.devel.redhat.com/released/JBoss-middleware/eap7/7.4.15/jboss-eap-7.4.15.zip" -Dit.test=ApplyScorecardMultiModuleIntegrationTest*

              mfusco@redhat.com Mario Fusco
              gmunozfe@redhat.com Gonzalo Muñoz Fernández
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: