[wildfly-dev] Missing transformer tests

Cheng Fang cfang at redhat.com
Mon Mar 11 22:17:55 EDT 2019


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
<https://github.com/wildfly/wildfly/commit/f8ceb2daac6ee16b27991a402dcda63d8e54967a#diff-6b005fa5eeb1b374b19a3a9f1fe9f64eL48>).
I created WFLY-11778 <https://issues.jboss.org/browse/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 at redhat.com> wrote:

>
>
> On Fri, Feb 8, 2019 at 9:07 AM Kabir Khan <kkhan at 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.
>
>>
>> Thanks,
>>
>> Kabir
>>
>>
>>
>> [1] https://github.com/wildfly/wildfly-core/pull/3664
>> _______________________________________________
>> wildfly-dev mailing list
>> wildfly-dev at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/wildfly-dev/attachments/20190311/9e813352/attachment.html 


More information about the wildfly-dev mailing list