quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.39k stars 2.56k forks source link

Quarkus 1.4.0.Final broke kogito hot reload #8873

Closed mariofusco closed 4 years ago

mariofusco commented 4 years ago

With Quarkus 1.4.0.Final, Kogito hot reload tests started failing with this error https://pastebin.com/3C8SF7nx

The same tests work correctly with 1.4.0.CR1.

To reproduce the problem use this pull request https://github.com/kiegroup/kogito-runtimes/pull/478 and run any test in folder kogito-runtimes/kogito-quarkus-extension/integration-test-hot-reload

mariofusco commented 4 years ago

I modified the linked pull request with a second commit that fixes the problem or at least its effects. The hot reload module has 2 tests, one for rules (drools) and one for process (jbpm). Both tests ran against a project created with shrinkwrap, but while the drools one was using ONLY files in shrinkwrap, the jbpm was using both files in shrikwrap and other classes and processes in the module source folder. Those classes in the source folder were making to fail both tests when upgrading the extension to quarkus 1.4.0.Final and moving also them into shrikwrap fixed both tests.

To recap I believe that now the tests are more "formally "correct and that before 1.4.0.Final they were succeeding as a false positive and something was silently failing anyway. In other terms I believe there's no real issue in Quarkus even though probably it makes sense to further investigate on the root cause of the different behaviour.

geoand commented 4 years ago

I did check this and it turns out that https://github.com/quarkusio/quarkus/pull/8284 changed the Quarkus behavior, in a correct way that just happened to break Kogito due to the non-standard use of the QuarkusDevModeTest.