<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: Remote txinflow: XID changes
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/tomjenkinson">Tom Jenkinson</a> in <i>JBoss Transactions Development</i> - <a href="http://community.jboss.org/message/630210#630210">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>OK, the proposal is for the following structure:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>XID {</p><p>&#160;&#160;&#160;&#160; formatid =131077 // INCREMENTED</p><p>&#160;&#160;&#160;&#160; gtrid = &lt;uid&gt; &lt;int:originatornodename&gt; // IMMUTABLE</p><p>&#160;&#160;&#160;&#160; bqual = &lt;uid&gt; &lt;int:nodename&gt; &lt;int:parentnodename&gt; &lt;eisname&gt; //MUTABLE</p><p>}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>javax.transaction.xa.Xid states MAXBQUALSIZE is 64, our proposal would fit in this space &lt;uid&gt; is 28 bytes, node name is 4 bytes apiece (total 8) meaning bytes 36 -&gt; 64 are available for the eisname</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The current structure is:</p><p>XID {</p><p>&#160;&#160;&#160;&#160; formatid =131076 </p><p>&#160;&#160;&#160;&#160; gtrid = &lt;uid&gt; &lt;US-ASCII:node name&gt;</p><p>&#160;&#160;&#160;&#160; bqual = &lt;uid&gt; &lt;US-ASCII:eisname&gt;</p><p>}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This change will pave the way for us to add a further recovery filter to the XAResourceOrphanFilter recovery chain so that we can check the bqual for whether this XID is owned by the transaction manager.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This will necessitate a change to the way that the AS is configured as currently it is expecting to confiugure node name on us as a string, therefore I propose to get this change in ASAP (i.e. put a 4.16.0 out for Monday and notify the AS team of our intentions). It will also need to be clear in the documentation that node names *MUST* be unique.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Top level XIDs would set their parent node name to \0 so we would need to make sure that node names are greater than 0. Child nodes can bump the nodename slot in the bqual up to the parentnodename slow and put their own node name in the now empty nodename slot</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Comments/suggestions are certainly welcome!</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/630210#630210">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Transactions Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2041">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>