3 Replies Latest reply on Jul 2, 2009 12:50 PM by Jonathan Halliday

    Transaction XIDs have zero gtrid_length

    Michael Musgrove Master

      When I start a transaction (obtained from JBossTM via theCosTransactions::TransactionFactory create method) the "global transaction id" has length zero - ie the bqual_length field of an XID structure is zero.

      This is causing a problem when try to issue an xa_start request on an Oracle RM. The oracle log reports:
      ORA-00160: global transaction length 0 is greater than maximum (64)

      My question Is: how do I configure the TM to get a non-zero global tx id?

      PS I am converting OTS tx ids to XIDs as follows:

       CosTransactions::Coordinator_var cv = ...
       CosTransactions::PropagationContext_var pcv = cv->get_txcontext();
       CosTransactions::otid_t otid = pcv->current.otid;
      
       ...
       xid.gtrid_length = otid.tid.length() - otid.bqual_length;