<!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="https://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: Implementing 1PC in WS-AT (WS-Atomic Transaction)
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/paul.robinson">Paul Robinson</a> in <i>JBoss Transactions Development</i> - <a href="https://community.jboss.org/message/826402#826402">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Chirag,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The problem with what you are suggesting is that you assume that the participant knows 1PC will be used. However, 1PC is an optimization selected by the coordinator when it observes that only one participant has been registered for the transaction. In many cases the participant will not know that it is alone. I think you instead need to allow the participant to notify the coordinator that it is capable of participating in a 1PC or 2PC protocol. The coordinator would then select the 1PC optimization if there is only one participant registered for the transaction and only if that participant is 1PC capable. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>WS-AT allows individual participants to register for different protocols. See "3 AtomicTransactionProtocols" of the WS-AT spec. I think you would probably need to add another one of those protocols for a 2PC protocol that can also do 1PC. You will probably also need to consider what the state table would like like for your new protocol. This would need to be inline with those in section "9 State Tables".</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>From the implementation point of view, XTS has protocol engines for each of the protocols in the WS-AT spec. You would need to add a new one of those to handle the new protocol. There's other things too, that you would need to do to implement it, but we can get into that later.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The new protocol would also need to support recovery. But again, we can consider that later. Maybe this is something outside of the scope of your masters project?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Paul.</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/826402#826402">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Transactions Development at <a href="https://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>