[ 
https://issues.apache.org/jira/browse/DERBY-1016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Hillegas updated DERBY-1016:
---------------------------------

    Attachment: releaseNote.html

Thanks for the first draft of the release note, Jayaram. I have re-worded it 
slightly. Feel free to correct it further if you think I garbled it.

It may be that your classpath did not include the class tree generated by the 
Derby build. ReleaseNoteReader is compiled into the class tree but it isn't put 
into any of the Derby jars.

Thanks,
-Rick
                
> javax.transaction.xa.forget (Xid) raises XAER_NOTA exception instead of 
> XA_PROTO on a prepared transaction
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1016
>                 URL: https://issues.apache.org/jira/browse/DERBY-1016
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.1.3.1, 10.2.1.6
>            Reporter: Kathey Marsden
>            Assignee: Jayaram Subramanian
>              Labels: derby_backport_reject_10_8, derby_triage10_5_2
>             Fix For: 10.9.0.0
>
>         Attachments: DERBY-1016.diff, DERBY-1016.patch, DERBY-1016.patch, 
> DERBY-1016_Patch_1.diff, ReproDerby1016.java, derby1016-donotcommit.diff, 
> derby1016-stat.txt, releaseNote.html, releaseNote.html, runoutputNov30.out, 
> utilXid.java
>
>
> javax.transaction.xa.forget (Xid) raises XAER_NOTA exception instead of 
> XA_PROTO on a prepared transaction
> I posted a question to derby-dev about this and heard no response so am 
> assuming it is indeed a bug.
>  in  the  XA+ 
> specification, it seems like xa_forget should  only be valid for a
> heuristically completed transaction, so should  be  XAER_PROTO
> and not XAER_NOTA.
> In xaStateTran.sql we have this case:
> -- get back into prepared state
> xa_start xa_noflags 50;
> insert into xastate values(2);
> xa_end xa_success 50;
> xa_prepare 50;
> select * from global_xactTable where gxid is not null order by gxid;
> -- the following should error XAER_NOTA
> xa_forget 50;
> The user  code I am looking at handles forget like this. They expect 
> XAER_PROTO in this case.
>               
> try {
>              xaRes.forget(xidList[i]);
>               System.out.print("XA-Transaction [" + (i+1) + "]
> Forgotten. \n" );
> } catch (XAException XAeForget) {
>                         if ( XAeForget.errorCode ==
> XAException.XAER_PROTO ) {
>                             System.out.print("XA-Transaction [" + (i+1)
> + "] not heuristically completed yet - Rolling Back instead. \n" );
>                             xaRes.rollback(xidList[i]);
>                             System.out.print("XA-Transaction [" + (i+1)
> + "] Rolled Back. \n" );
>                         }
>                         if ( XAeForget.getMessage() != null ) {
>                             System.out.println("XAException " +
> XAeForget.getMessage() );
>              

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to