<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 11, 2019 at 9:19 PM Cheng Fang &lt;<a href="mailto:cfang@redhat.com">cfang@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><span style="font-family:georgia,serif;font-size:large">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 (<a href="https://github.com/wildfly/wildfly/commit/f8ceb2daac6ee16b27991a402dcda63d8e54967a#diff-6b005fa5eeb1b374b19a3a9f1fe9f64eL48" target="_blank">Dec 20, 2018</a>).  I created </span><font face="georgia, serif" size="4"><a href="https://issues.jboss.org/browse/WFLY-11778" target="_blank">WFLY-11778</a> (</font><span style="font-family:georgia,serif;font-size:large">Missing ejb3 transformer tests) to track the ejb3 part of this issue.</span></div><div><span style="font-family:georgia,serif;font-size:large"><br></span></div><div><span style="font-family:georgia,serif;font-size:large">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?</span></div></div></div></div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">A transformer is about a WF 16 master controlling a 15 or earlier HC. So it&#39;s about dealing with the fact that the master can accept a write-attribute for those attributes but if it tries to tell the legacy HC to apply the operation, that HC cannot.</div><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">What does the failure look like if you have a WF 16 master and the subordinate host is running 15 or earlier and you use write-attribute for those? I suspect it looks ok.</div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">It will fail because on the 15 host those attributes are not writable. And that&#39;s fine; it has to fail. What a transformer would do in a case like this would be to fail with a more understandable failure message (since the master knows the real problem and can tailor the message, whereas the legacy host just gets data it doesn&#39;t understand and might fail in an odd way.) But in this case I think the legacy host would fail in an understandable way, saying the attribute is not writable. A transformer on the master probably wouldn&#39;t be written to produce a much better message.</div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><span style="font-family:georgia,serif;font-size:large"><br></span></div><div><span style="font-family:georgia,serif;font-size:large">Thanks,</span></div><div><span style="font-family:georgia,serif;font-size:large">Cheng</span></div><div style="font-family:georgia,serif;font-size:large"><br></div><div style="font-family:georgia,serif;font-size:large"><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 8, 2019 at 10:41 AM Brian Stansberry &lt;<a href="mailto:brian.stansberry@redhat.com" target="_blank">brian.stansberry@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 8, 2019 at 9:07 AM Kabir Khan &lt;<a href="mailto:kkhan@redhat.com" target="_blank">kkhan@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>TL;DR: It looks like we may be missing transformer tests in the following subsystems: ejb3, infinispan, jca, logging, undertow. I&#39;ve not dug in beyond that.</div><div><br></div><div>Full:</div><div dir="ltr">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.</div><div dir="ltr"><br></div><div>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.</div><div><br></div><div>I&#39;ve run the model comparison tool against master/7.2.0: and see changes which might be significant:</div><div><br></div><div><div>====== Resource root address: [&quot;subsystem&quot; =&gt; &quot;ejb3&quot;] - Current version: 0.0.0; legacy version: 5.0.0 =======</div><div>--- Problems for relative address to root [&quot;passivation-store&quot; =&gt; &quot;*&quot;]:</div><div>Different &#39;access-type&#39; for attribute &#39;bean-cache&#39;. Current: &quot;read-write&quot;; legacy: &quot;read-only&quot;</div><div>Different &#39;access-type&#39; for attribute &#39;cache-container&#39;. Current: &quot;read-write&quot;; legacy: &quot;read-only&quot;</div><div><br></div><div>====== Resource root address: [&quot;subsystem&quot; =&gt; &quot;infinispan&quot;] - Current version: 0.0.0; legacy version: 8.0.0 =======</div><div>* --- Problems for relative address to root [&quot;remote-cache-container&quot; =&gt; &quot;*&quot;]:</div><div>Different &#39;default&#39; for attribute &#39;protocol-version&#39;. Current: &quot;2.9&quot;; legacy: &quot;2.8&quot;</div><div><br></div><div><br></div><div>====== Resource root address: [&quot;subsystem&quot; =&gt; &quot;jca&quot;] - Current version: 0.0.0; legacy version: 5.0.0 =======</div><div>--- Problems for relative address to root [&quot;distributed-workmanager&quot; =&gt; &quot;*&quot;,&quot;long-running-threads&quot; =&gt; &quot;*&quot;]:</div><div>* Missing attributes in current: [handoff-executor]; missing in legacy []</div><div>* Missing parameters for operation &#39;add&#39; in current: [handoff-executor]; missing in legacy []</div><div>--- Problems for relative address to root [&quot;distributed-workmanager&quot; =&gt; &quot;*&quot;,&quot;short-running-threads&quot; =&gt; &quot;*&quot;]:</div><div>* Missing attributes in current: [handoff-executor]; missing in legacy []</div><div>* Missing parameters for operation &#39;add&#39; in current: [handoff-executor]; missing in legacy []</div><div>--- Problems for relative address to root [&quot;workmanager&quot; =&gt; &quot;*&quot;,&quot;long-running-threads&quot; =&gt; &quot;*&quot;]:</div><div>* Missing attributes in current: [handoff-executor]; missing in legacy []</div><div>* Missing parameters for operation &#39;add&#39; in current: [handoff-executor]; missing in legacy []</div><div>--- Problems for relative address to root [&quot;workmanager&quot; =&gt; &quot;*&quot;,&quot;short-running-threads&quot; =&gt; &quot;*&quot;]:</div><div>* Missing attributes in current: [handoff-executor]; missing in legacy []</div><div>* Missing parameters for operation &#39;add&#39; in current: [handoff-executor]; missing in legacy []</div><div>--- Problems for relative address to root [&quot;workmanager&quot; =&gt; &quot;default&quot;,&quot;long-running-threads&quot; =&gt; &quot;*&quot;]:</div><div>* Missing attributes in current: [handoff-executor]; missing in legacy []</div><div>* Missing parameters for operation &#39;add&#39; in current: [handoff-executor]; missing in legacy []</div><div>--- Problems for relative address to root [&quot;workmanager&quot; =&gt; &quot;default&quot;,&quot;short-running-threads&quot; =&gt; &quot;*&quot;]:</div><div>* Missing attributes in current: [handoff-executor]; missing in legacy []</div><div>* Missing parameters for operation &#39;add&#39; in current: [handoff-executor]; missing in legacy []</div><div><br></div><div><br></div><div>====== Resource root address: [&quot;subsystem&quot; =&gt; &quot;logging&quot;] - Current version: 0.0.0; legacy version: 7.0.0 =======</div><div>* --- Problems for relative address to root [&quot;json-formatter&quot; =&gt; &quot;*&quot;]:</div><div>Different &#39;default&#39; for attribute &#39;record-delimiter&#39;. Current: &quot;</div><div>&quot;; legacy: &quot;&quot;</div><div>* --- Problems for relative address to root [&quot;logging-profile&quot; =&gt; &quot;*&quot;,&quot;json-formatter&quot; =&gt; &quot;*&quot;]:</div><div>Different &#39;default&#39; for attribute &#39;record-delimiter&#39;. Current: &quot;</div><div>&quot;; legacy: &quot;&quot;</div><div>* --- Problems for relative address to root [&quot;logging-profile&quot; =&gt; &quot;*&quot;,&quot;xml-formatter&quot; =&gt; &quot;*&quot;]:</div><div>Different &#39;default&#39; for attribute &#39;record-delimiter&#39;. Current: &quot;</div><div>&quot;; legacy: &quot;&quot;</div><div>* --- Problems for relative address to root [&quot;xml-formatter&quot; =&gt; &quot;*&quot;]:</div><div>Different &#39;default&#39; for attribute &#39;record-delimiter&#39;. Current: &quot;</div><div>&quot;; legacy: &quot;&quot;</div><div><br></div><div><br></div><div>====== Resource root address: [&quot;subsystem&quot; =&gt; &quot;undertow&quot;] - Current version: 0.0.0; legacy version: 7.0.0 =======</div><div>--- Problems for relative address to root [&quot;application-security-domain&quot; =&gt; &quot;*&quot;]:</div><div>* Missing attributes in current: []; missing in legacy [enable-jaspi, integrated-jaspi]</div><div>* Missing parameters for operation &#39;add&#39; in current: []; missing in legacy [enable-jaspi, integrated-jaspi]</div></div><div><br></div><div>Although WF16 doesn&#39;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.</div></div></div></div></div></blockquote><div><br></div><div style="font-family:&quot;trebuchet ms&quot;,sans-serif">Thanks, Kabir for running the check and for the heads up!</div><div style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><div style="font-family:&quot;trebuchet ms&quot;,sans-serif">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&#39;t be extended to 16.</div><div style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><div style="font-family:&quot;trebuchet ms&quot;,sans-serif">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 -&gt; 14 (constants, method names etc) and then if there are further changes for 16 -&gt; 15, do those. Let future readers of the code read code that reflects the history of the management API.</div><div style="font-family:&quot;trebuchet ms&quot;,sans-serif"></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>Thanks,</div><div><br></div><div>Kabir</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">[1] <a href="https://github.com/wildfly/wildfly-core/pull/3664" target="_blank">https://github.com/wildfly/wildfly-core/pull/3664</a></div></div></div></div></div>
_______________________________________________<br>
wildfly-dev mailing list<br>
<a href="mailto:wildfly-dev@lists.jboss.org" target="_blank">wildfly-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-1679263171501488761gmail-m_4599249690991726188gmail_signature"><div dir="ltr">Brian Stansberry<div>Manager, Senior Principal Software Engineer</div><div>Red Hat</div></div></div></div>
_______________________________________________<br>
wildfly-dev mailing list<br>
<a href="mailto:wildfly-dev@lists.jboss.org" target="_blank">wildfly-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a></blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Brian Stansberry<div>Manager, Senior Principal Software Engineer</div><div>Red Hat</div></div></div></div>