For ejb3 subsystem, 2 attributes (bean-cache and cache-container under passivation-store element) changed their access-type from read-only to read-write.  The change occurred in WildFly 16 (Dec 20, 2018).  I created WFLY-11778 (Missing ejb3 transformer tests) to track the ejb3 part of this issue.

Since there is no structural changes, and the new one has wider access-type, any operations from old version HC should have no problem.  Do we still need transformer tests in this case?

Thanks,
Cheng



On Fri, Feb 8, 2019 at 10:41 AM Brian Stansberry <brian.stansberry@redhat.com> wrote:


On Fri, Feb 8, 2019 at 9:07 AM Kabir Khan <kkhan@redhat.com> wrote:
TL;DR: It looks like we may be missing transformer tests in the following subsystems: ejb3, infinispan, jca, logging, undertow. I've not dug in beyond that.

Full:
We have been using ModelTestControllerVersion.EAP_7_2_0_TEMP (containing WF14) for transformer testing until EAP 7.2.0 was released. [1] renames this to be EAP_7_2_0 and points to EAP 7.2.0.

In addition I have some WIP to update the full mixed domain and subsystem tests to do the same. When doing this I noticed that the only subsystem that had transformer tests referencing EAP_7_2_0_TEMP was modcluster. I knew messaging-activemq had some changes, which Emmanuel is looking at.

I've run the model comparison tool against master/7.2.0: and see changes which might be significant:

====== Resource root address: ["subsystem" => "ejb3"] - Current version: 0.0.0; legacy version: 5.0.0 =======
--- Problems for relative address to root ["passivation-store" => "*"]:
Different 'access-type' for attribute 'bean-cache'. Current: "read-write"; legacy: "read-only"
Different 'access-type' for attribute 'cache-container'. Current: "read-write"; legacy: "read-only"

====== Resource root address: ["subsystem" => "infinispan"] - Current version: 0.0.0; legacy version: 8.0.0 =======
* --- Problems for relative address to root ["remote-cache-container" => "*"]:
Different 'default' for attribute 'protocol-version'. Current: "2.9"; legacy: "2.8"


====== Resource root address: ["subsystem" => "jca"] - Current version: 0.0.0; legacy version: 5.0.0 =======
--- Problems for relative address to root ["distributed-workmanager" => "*","long-running-threads" => "*"]:
* Missing attributes in current: [handoff-executor]; missing in legacy []
* Missing parameters for operation 'add' in current: [handoff-executor]; missing in legacy []
--- Problems for relative address to root ["distributed-workmanager" => "*","short-running-threads" => "*"]:
* Missing attributes in current: [handoff-executor]; missing in legacy []
* Missing parameters for operation 'add' in current: [handoff-executor]; missing in legacy []
--- Problems for relative address to root ["workmanager" => "*","long-running-threads" => "*"]:
* Missing attributes in current: [handoff-executor]; missing in legacy []
* Missing parameters for operation 'add' in current: [handoff-executor]; missing in legacy []
--- Problems for relative address to root ["workmanager" => "*","short-running-threads" => "*"]:
* Missing attributes in current: [handoff-executor]; missing in legacy []
* Missing parameters for operation 'add' in current: [handoff-executor]; missing in legacy []
--- Problems for relative address to root ["workmanager" => "default","long-running-threads" => "*"]:
* Missing attributes in current: [handoff-executor]; missing in legacy []
* Missing parameters for operation 'add' in current: [handoff-executor]; missing in legacy []
--- Problems for relative address to root ["workmanager" => "default","short-running-threads" => "*"]:
* Missing attributes in current: [handoff-executor]; missing in legacy []
* Missing parameters for operation 'add' in current: [handoff-executor]; missing in legacy []


====== Resource root address: ["subsystem" => "logging"] - Current version: 0.0.0; legacy version: 7.0.0 =======
* --- Problems for relative address to root ["json-formatter" => "*"]:
Different 'default' for attribute 'record-delimiter'. Current: "
"; legacy: ""
* --- Problems for relative address to root ["logging-profile" => "*","json-formatter" => "*"]:
Different 'default' for attribute 'record-delimiter'. Current: "
"; legacy: ""
* --- Problems for relative address to root ["logging-profile" => "*","xml-formatter" => "*"]:
Different 'default' for attribute 'record-delimiter'. Current: "
"; legacy: ""
* --- Problems for relative address to root ["xml-formatter" => "*"]:
Different 'default' for attribute 'record-delimiter'. Current: "
"; legacy: ""


====== Resource root address: ["subsystem" => "undertow"] - Current version: 0.0.0; legacy version: 7.0.0 =======
--- Problems for relative address to root ["application-security-domain" => "*"]:
* Missing attributes in current: []; missing in legacy [enable-jaspi, integrated-jaspi]
* Missing parameters for operation 'add' in current: []; missing in legacy [enable-jaspi, integrated-jaspi]

Although WF16 doesn't provide any domain mode guarantees for previous releases, this will one day end up as a product release and then it is important that we have these tests in place. It is easier to add them as we go along than to retrofit them when that time comes.

Thanks, Kabir for running the check and for the heads up!

This needs to be correct in WildFly regardless of any EAP requirements.  I believe the domain mode transformation chain from WF 14 all the way back to at least 11 is correct. There is no reason it shouldn't be extended to 16.

Even though any fix would only come in 16, the correct way to write the transformation for something that changed in 15 is as if it had been done in 15. Write the transformation code for 15 -> 14 (constants, method names etc) and then if there are further changes for 16 -> 15, do those. Let future readers of the code read code that reflects the history of the management API.
_______________________________________________
wildfly-dev mailing list
wildfly-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev


--
Brian Stansberry
Manager, Senior Principal Software Engineer
Red Hat
_______________________________________________
wildfly-dev mailing list
wildfly-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev