Time taken to roll back a failed transaction

One of our customers has reported that a batch transaction, which takes about 3 hours to complete, failed after 2 hours and took 14/16 hours to roll back.
Is there a rule of thumb guideline available which can predict the time taken to roll back. Does it depend upon time the transaction was running before it failed and the size of roll back data created in rollback segment.
Thanks
Cheema

This is supplement to the original question.
Will there be a significant difference between time taken to roll back in the following two situations :
1) failure is detected by the transaction and an explicit rollback statement is issued by the stored procedure performing the transaction.
2) Connection to oracle is lost and DBA kills the session
Cheema

Similar Messages

  • How to continue a loop after roll back callee a Transaction in SOA

    Hi All,
    I Have main bpel process which calls a external web service which returns  set of records,
    iiterate through the set, i need to store the each record in AQ Topic.
    and ack each and every record after storing them in AQTopic. if the Ack fails i should roll back the previously inserted record from AQ.
    I Divided the XA transaction into two parts by using "checkpoint();" .
    Based on the ack status i called throw activity with Rollback transaction, i handled that using catch all in same scope.but after that process is terminating not iterating through the loop.
    i used XA Datasource.
    please suggest me.
    Thanks Rajashekar.

    Hi PuneetRekhade,
    Thanks for your suggestion.
    After receving the ack=sucess, before storing the Record in the AQ if system crashes Data would no longer exist in Either AQ or external web service Data base .
    the Record shouldn't be lost at any cost.
    in my case, if the system crashes before sending the data to AQ, nothing happens because i wouldn't send the ack to the External web service.
    Thanks
    Raj.

  • Roll back of single transaction

    I am learning Oracle.
    I just did a Point in Time recovery.
    Could someone please send me a link onl how to perform a roll back of a single transaction that was previously committed. Or is that possible ?
    Thanks

    Hello,
    If you have flashback enabled, you can recover
    Here is a link you can learn and how to implement and use flashback
    http://www.oracle-base.com/articles/10g/Flashback10g.php
    http://arjudba.blogspot.com/2008/04/how-to-enable-flashback-database.html
    More information about flashback in general can be found under oracle documentation.
    http://download-west.oracle.com/docs/cd/B19306_01/backup.102/b14192/rpfbdb003.htm
    Regards
    Edited by: OrionNet on Jan 11, 2009 6:27 PM

  • Time machine no longer backing up fails to index

    Oddly the system doesn't recover nicely when it runs into this error. Found I have to kill backupd or
    pull the disk...(it was pulling the disk that led me discover backupd so that was a good thing)...
    Jun 1 21:18:05 prunus /System/Library/CoreServices/backupd[17383]: Backing up to: /Volumes/MRM-Backup/Backups.backupdb
    Jun 1 21:18:06 prunus /System/Library/CoreServices/backupd[17383]: Ownership is disabled on the backup destination volume. Enabling.
    Jun 1 21:18:12 prunus /System/Library/CoreServices/backupd[17383]: Event store UUIDs don't match for volume: Macintosh HD
    Jun 1 21:18:12 prunus /System/Library/CoreServices/backupd[17383]: Backup content size: 122.0 GB excluded items size: 2.1 MB for volume Macintosh HD
    Jun 1 21:18:13 prunus /System/Library/CoreServices/backupd[17383]: No pre-backup thinning needed: 146.37 GB requested (including padding), 465.61 GB available
    Jun 1 21:38:18 prunus /System/Library/CoreServices/backupd[17383]: Indexing a file failed. Returned -1120 for: /Applications/.localized, /Volumes/MRM-Backup/Backups.backupdb/MacFaden/2009-06-01-144935.inProgress/3AE7 D6F2-87B9-419E-8875-B7714B8F0391/Macintosh HD/Applications/.localized
    Jun 1 21:38:18 prunus /System/Library/CoreServices/backupd[17383]: Aborting backup because indexing of file failed.
    Jun 1 21:38:18 prunus /System/Library/CoreServices/backupd[17383]: Stopping backup.
    Any ideas on how to fix this?
    Thanks,
    Mike

    Is this your first backup (or the first to this disk)?
    If it's your initial backup, the most common cause is the TM drive not being formatted correctly (even, on occasion, if TM formatted it!). Use Disk Utility (in your Applications/Utilities folder) to verify the setup:
    Select the top line, with the make and size. Towards the bottom, the *Partition Map Scheme* should be GUID (preferred) or +Apple Partition Map+ for an Intel Mac; +Apple Partition Map+ for a PPC Mac. If this is wrong, you must completely erase and reformat the drive, per item 5 of the Frequently Asked Questions post at the top of this forum.
    Select the line for the TM partition (with the name). Towards the bottom, the Format should be +Max OS Exended (Journaled).+ If this is wrong, you must erase the partition (not necessarily the whole drive) and change it, via Disk Utility.
    If it's correct, run a +Repair Disk+ (not permissions) on your TM volume, via Disk Utility (in your Applications/Utilities folder).
    Exclude your TM disk from any anti-virus scanning.
    Also exclude it from Spotlight, via System Preferences > Spotlight > Privacy.

  • How to Roll Back a Failed BIOS Update for my HP Compaq 6735s (467826R-999) Notebook

    I have searched the community and HP pages for instructions to uninstall a BIOS Update in case it fails, and I haven't found the procedure.
    My notebook is an  HP Compaq 6735s (467826R-999) running the Windows 7 64 bit Professional SP1, and a BIOS revision level of HP "68GPP F.0E, 09/14/09".  
    Going to the Drivers/Downloads for this notebook 
    http://h20566.www2.hp.com/portal/site/hpsc/template.PAGE/public/psi/swdHome/?sp4ts.oid=3687622&spf_p...
    I can see my old F.0E of 9/14/09 is super old because there is the F.21 dated 30-Jul-2012, GREAT!!    I just have to be sure I can recover from a (possible) failed BIOS Update.  
    Oh yeah, one more thing:  I'm not sure of the differences between the HPQFlash, the ROM Image, and the ROMPaq listed rows in the link above.  Which should I run?
    Thank you for your efforts!

    Were your suggestions assuming that I had already run a BIOS update?  I have not.  I'm just trying to be sure that I can recover from a failed attempt!  I plan to run the BIOS update on 9/20/13.
    So, when I follow your suggestion of Restart, then "F2", my notebook goes into a System Diagnostics menu.
    I spent some time in the F10, BIOS Setup, Maintenance screens but didn't find any option to RollBack.  Again, I suppose it is because I'm running the original, F.0E version!
    I also checked the link
    http://h10025.www1.hp.com/ewfrf/wc/document?cc=us&lc=en&dlc=en&docname=c02693833
    you provided to Restore your BIOS, and the tips didn't work for me - at least not with the original version installed.
    If I do take the plunge, which would you recommend:  
    HPQFlash
    ROM Image
    ROMPaq 
    Thank you!

  • Oracle 9iAS is rolling back all my transactions...any idea why?

    Hi Guys,
    I am involved in developing a medium sized J2EE Application Running on Oracle9iAS
    Develeopment Version obtained from OTN.(version 1.0.2.2a)
    The backend DB is Oracle8i RDBMS.
    It has Browser based web client.
    It is presently having 2- stateless session beans, with one bean acting as
    Session Facade(as per J2EE Blueprints 1.2)
    All transactions are container managed.
    Following observations are made while load testing:
    1. 9iAS Server rollbacks all the transactions when number of simultaneous
    users exceeds 45.
    Following are the Queries:
    1. Is there any restriction on the number of Concurrent Transactions on the
    9iAS Server Development version.
    2. Is there any restriction on the pool size of the Resource Manager(Data
    base in this case) on the 9iAS Development Version.
    3. Exactly what is the difference between the Development and the Proper
    Production release.
    4. Are there any thing to do with my RAM?
    This is my data-sources.xml -
    <?xml version="1.0"?>
    <!DOCTYPE data-sources PUBLIC "Orion data-sources" " " target="_new">http://xmlns.oracle.com/ias/dtds/data-sources.dtd">
    <data-sources>
    <data-source
    class="com.evermind.sql.DriverManagerDataSource"
    name="demoPool"
    location="demoPool"
    xa-location="jdbc/demoPool"
    ejb-location="jdbc/demoPool"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    max-connect-attempts="10"
    max-connections="1000"
    username="cue"
    password="cue"
    url="jdbc:oracle:thin:@163.122.23.104:1521:CALVYN"
    inactivity-timeout="30"
    </data-sources>
    Thanks in advance

    Do you have any more information related to this? I don't see any errors. Are you getting any other indications like a timeout or something else? Are there any database errors being recieved?
    1. Is there any restriction on the number of Concurrent Transactions on the 9iAS Server Development version. No.
    2. Is there any restriction on the pool size of the Resource Manager(Data base in this case) on the 9iAS Development Version. No.
    3. Exactly what is the difference between the Development and the Proper Production release. The core J2EE components are the same.
    4. Are there any thing to do with my RAM? Not likely.
    Thanks -- Jeff

  • Container transaction NOT rolled back after a long period of time.

    Hi, I am using Weblogic 6.1SP5 on RedHat 7.1 and I have seen an unexpected
              behaviour with an MDB and I would like to know if there is any circumstance
              in which a transaction is not rolled back automatically by the container
              after the transaction timeout specified on MDB descriptor expired.
              The fact is I have seen a thread locked for 3 entire days without any
              exception being raised (the trans timeout was set to 900 seconds for
              debugging porpouses)
              Sadly I didn't thought on issuing a ps -ax and a netstat -np in order to see
              if there was any connection active for any of the JVM threads.
              As an aside note I had to throw a kill -9 to Weblogic's JVM in order to
              completely stop it because using the standard "stopWeblogic.sh" script it
              got stalled.
              The only unusual thing that I can think of the MDB is doing is opening a
              connection against a remote system via a socket.
              My question is. Is it possible that a thread locked on I/O (in this case a
              socket) to be out of control in terms of throwing at it a "Transaction
              rolled back exception"?
              I have modified my code in order to set SO_TIMEOUT on the socket just in
              case the other peer hangs and never returns control. But I would like to
              know the problem could be there.
              I know for sure that at the time the thread stalled the other peer died
              (exceptions on other MDBs trying to connect to remote system) but I expected
              a "socket exception" to be thrown by the O.S. to the stalled thread instead
              of having the thread waiting forever on that "open" socket.
              Thanks in advance.
              Ignacio.
              

    While a tramsaction may be rolled back at the transaction timeout,
              the thread is not stopped. The actual exception won't occur until
              the MDB completes. If the MDB doesn't complete (as in this case),
              you won't get the exception.
              "Ignacio G. Dupont" <[email protected]> wrote in message news:[email protected]...
              > Hi, I am using Weblogic 6.1SP5 on RedHat 7.1 and I have seen an unexpected
              > behaviour with an MDB and I would like to know if there is any circumstance
              > in which a transaction is not rolled back automatically by the container
              > after the transaction timeout specified on MDB descriptor expired.
              >
              > The fact is I have seen a thread locked for 3 entire days without any
              > exception being raised (the trans timeout was set to 900 seconds for
              > debugging porpouses)
              >
              > Sadly I didn't thought on issuing a ps -ax and a netstat -np in order to see
              > if there was any connection active for any of the JVM threads.
              >
              > As an aside note I had to throw a kill -9 to Weblogic's JVM in order to
              > completely stop it because using the standard "stopWeblogic.sh" script it
              > got stalled.
              >
              > The only unusual thing that I can think of the MDB is doing is opening a
              > connection against a remote system via a socket.
              >
              > My question is. Is it possible that a thread locked on I/O (in this case a
              > socket) to be out of control in terms of throwing at it a "Transaction
              > rolled back exception"?
              >
              > I have modified my code in order to set SO_TIMEOUT on the socket just in
              > case the other peer hangs and never returns control. But I would like to
              > know the problem could be there.
              >
              > I know for sure that at the time the thread stalled the other peer died
              > (exceptions on other MDBs trying to connect to remote system) but I expected
              > a "socket exception" to be thrown by the O.S. to the stalled thread instead
              > of having the thread waiting forever on that "open" socket.
              >
              > Thanks in advance.
              >
              > Ignacio.
              >
              >
              

  • Regarding DB adapter transactions roll back

    Hi All,
    In a BPEL, using while loop i'm trying to insert records in a table(business table-Oracle XE DB). If any errors happen during the insertion, it should rollback the previous insertions happened in the business table and insert the error details in the log table.
    Example: Let's say 5 records need to be inserted in business table, after first two records get inserted successfully, due to invalid data, 3rd record fails to get inserted.
    Things i have done,
    1) I have a catch block to catch the errors
    2) I have an invoke activity in the catch block to invoke the DB adapter to insert error details in log table.
    3) Throw activity with bpelx:rollback to roll back the previous transactions.
    Question: After the error details get inserted in log table, since i have a throw activity with bpelx rollback, all the previous DB transactions including the log table insertion is getting rolled back. I don't want my log table record insertion to be rolled back, only the records which i have already inserted successfully in the business table needs to be rolled back.
    Can anyone let me know, how to handle such a situation? your response is greatly appreciated.

    You need to ensure that your process is working in a single transaction.
    You are correctly using the XA datasource.
    Next you need to ensure that you do not have a dehydration point in the process and if there is a call to another BPEL process they are in a same transaction.

  • Once Again: Transaction is not rolled back...

    Hi all,
    I'm almost at the end of my project with Toplink. but I have to solve this transaction rollback problem. Here is my previous message. any comment is more than welcome.
    The problem is this, I pass 2 objects to Toplink to update in database using activeUnitOfWork.shallowMergeClone() method.
    one of the updates fails then I expect everything to be rolled back within the same unitofwork. but NOT. the other object is quite well updated in database even though they are merged in the same unit of work... please HELP...
    here is the log :
    UnitOfWork(31228)--JTS#beforeCompletion()
    UnitOfWork(31228)--#executeQuery(WriteObjectQuery(com.vnu.publitec.axis.persistence.Parameters@7a0b))
    UnitOfWork(31228)--Connection(31249)--UPDATE PARAMETERS SET PARAM_VALUE = '26' WHERE (PARAM_NAME = 'TEST_PARAMETER_2')
    UnitOfWork(31228)--#reconnecting to external connection pool
    UnitOfWork(31228)--#executeQuery(WriteObjectQuery(com.vnu.publitec.axis.persistence.Parameters@7a06))
    UnitOfWork(31228)--Connection(31249)--UPDATE PARAMETERS SET PARAM_MAX_SIZE = 666666, PARAM_COMMENTS = 'updated by new axis...', PARAM_VALUE = '18' WHERE (PARAM_NAME = 'TEST_PARAMETER_1')
    UnitOfWork(31228)--EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
    EXCEPTION DESCRIPTION: java.sql.SQLException: ORA-01438: value larger than specified precision allows for this column
    INTERNAL EXCEPTION: java.sql.SQLException: ORA-01438: value larger than specified precision allows for this column
    ...... //some more message
    UnitOfWork(31228)--JTS#afterCompletion()
    UnitOfWork(31228)--release unit of work
    ClientSession(31229)--client released
    environment information is :
    J2EE Server is Oracle9iAS (9.0.3.0.0) Containers for J2EE
    and following is a piece of sessions.xml file related to external transaction controller settings :
    <session-type>
    <server-session/>
    </session-type>
    <login>
    <datasource>java:comp/env/jdbc/xxx</datasource>
    <uses-native-sql>true</uses-native-sql>
    <uses-external-transaction-controller>true</uses-external-transaction-controller>
    <uses-external-connection-pool>true</uses-external-connection-pool>
    </login>
    <external-transaction-controller-class>oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController</external-transaction-controller-class>
    thanks
    Erdem.

    Hi James,
    As Erdem is not available, I am now taking care of the issue. The datasource name in session.xml refers to the one defined in OC4J data-sources.xml "ejb-location" attribute of "data-source" element. Below, I attach the relevant sections of both files
    session.xml
    <session>
    <name>Axis_session</name>
    <project-xml>AxisCDM.xml</project-xml>
    <session-type>
    <server-session/>
    </session-type>
    <login>
    <datasource>java:comp/env/jdbc/AXIS_323DS</datasource>
    <uses-native-sql>true</uses-native-sql>
    <uses-external-transaction-controller>true</uses-external-transaction-controller>
    <uses-external-connection-pool>true</uses-external-connection-pool>
    </login>
    <external-transaction-controller-class>oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController</external-transaction-controller-class>
    data-sources.xml:
    <data-source     
    class="com.evermind.sql.DriverManagerDataSource"
    name="AXIS_323DS"
    location="jdbc/AXIS_323CoreDS"
    xa-location="jdbc/xa/AXIS_323XADS"
    ejb-location="jdbc/AXIS_323DS"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username="XXX"
    password="XXX"
    url="jdbc:oracle:oci8:@ddb"
    inactivity-timeout="30"
    connection-retry-interval="1"
    />
    On the client we get the following exception:
    com.evermind.server.rmi.OrionRemoteException: Transaction was rolled back: Error in transaction: EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
    EXCEPTION DESCRIPTION: java.sql.SQLException: ORA-01438: value larger than specified precision allows for this column
    On the server, we have implemented SessionSynchronization to monitor the transaction. afterCompletion method gets a boolean value "true" indicating that the transaction was comitted.
    Any database operation that was successful before the erroneous case was saved in DB.
    Thanks,
    Melih

  • Transaction is not Rolling Back in Stateless Session Bean

              Hi,
              I am using UserTransaction in Stateless Session bean .
              Transaction is not rolling back.
              The following code is writen in stateless session bean. In UserTransaction i am
              calling Two methods of another stateless session bean.
              The problem is if doJob2() method fails, doJob1() method is rolling back. These
              two methods consist of SQL statement with different Connection Object from TXDataSource.And
              session bean(TestSession) is set to CMT, attribute as "Required".
              try{
              Context ictx=new InitialContext();
              TestHome home=(TestHome)ictx.lookup("TestSession");
                   utx = sessionCtx.getUserTransaction();
                   utx.begin();
              TestRemote remote=home.create();
                   remote.doJob1();
                   remote.doJob2();
                   utx.commit();
              }catch(Exception e)
                   try{
                   utx.rollback();
              }catch(Exception ex)
                   System.out.println("unable to rollback"+ex);
              if any SQL Exception as occured in doJob2(), its calling method utx.rollback()
              in catch block. but SQL statements executed thru. doJob1() are not rolling back.
              what might be the reason?
              thanks
              Ranganath
              

              Thanx Priscilla ,
              Transaction is working.
              ranganath
              "Priscilla Fung" <[email protected]> wrote:
              >
              >In your ejb-jar.xml, you should specify <transaction-type> element to
              >be "Container"
              >for container-managed transaction. If you specified it to be "Bean" for
              >bean-managed
              >transaction, EJB ontainer will suspend the caller's transaction before
              >starting
              >a new transaction for your doJobX() methods. Thus, doJob1()nd doJob2()
              >will be
              >executing in different transactions, and thus rolling back doJob2()'s
              >transaction
              >will have no effect on work done and committed in doJob1()'s transaction.
              >
              >Regards,
              >
              >Priscilla
              >
              >
              >"Ranganath" <[email protected]> wrote:
              >>
              >>
              >>
              >>I am sending config.xml,deployment descriptors, code snippet for TestSession.
              >>i
              >>am using weblogic6.0sp2.
              >>if you need any aditional info. please let me know.
              >>
              >>thanks
              >>ranganath
              >>
              >>EJB-JAR.xml
              >>
              >><?xml version="1.0"?>
              >>
              >><!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
              >JavaBeans
              >>1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
              >>
              >><ejb-jar>
              >>     <enterprise-beans>
              >>     <session>
              >>          <ejb-name>TestSession</ejb-name>
              >>          <home>com.apar.sslbridge.test.TestHome</home>
              >>          <remote>com.apar.sslbridge.test.TestRemote</remote>
              >>          <ejb-class>com.apar.sslbridge.test.TestBean</ejb-class>
              >>          <session-type>Stateless</session-type>
              >>          <transaction-type>Bean</transaction-type>
              >>          <resource-ref>
              >>     <res-ref-name>jdbc/oraclePool</res-ref-name>
              >>     <res-type>javax.sql.DataSource</res-type>
              >>     <res-auth>Container</res-auth>
              >>          </resource-ref>
              >>     </session>
              >>     </enterprise-beans>
              >>     <assembly-descriptor>
              >>     <container-transaction>
              >>          <method>
              >>          <ejb-name>TestSession</ejb-name>
              >>          <method-intf>Remote</method-intf>
              >>          <method-name>*</method-name>
              >>          </method>
              >>          <trans-attribute>Required</trans-attribute>
              >>     </container-transaction>
              >> </assembly-descriptor>
              >></ejb-jar>
              >>
              >>
              >>TestSession CODE:
              >>
              >>
              >>     public void doJob1() throws RemoteException
              >>     {
              >>     Statement st = null;
              >>     String query=null;
              >>     try{
              >>     con=getConnection();
              >>     st=con.createStatement();
              >>     query="insert into x values("+x+++")";
              >>     System.out.println(query);
              >>     int rec=st.executeUpdate(query);
              >>     }catch(SQLException sqle)
              >>     {
              >>     System.out.println("SQL Exception "+sqle);
              >> throw new RemoteException("RemoteException*****SQLError");
              >>     } catch (Exception e) {
              >>     System.out.println("Exception "+e);
              >> throw new RemoteException("RemoteException*****GenralError");
              >> }
              >>}
              >>
              >>
              >> public void doJob2()throws RemoteException
              >> {
              >> Connection con=null;
              >> Statement st = null;
              >> String query=null;
              >> try{
              >> con=getConnection();
              >> st=con.createStatement();
              >> query="insert into y values("+x+++")";
              >> System.out.println(query);
              >> int rec=st.executeUpdate(query);
              >> }catch(SQLException sqle)
              >> {
              >> System.out.println("SQL Exception "+sqle);
              >> throw new RemoteException("RemoteException*****SQLError");
              >> } catch (Exception e) {
              >> System.out.println("Exception "+e);
              >> throw new RemoteException("RemoteException*****GenralError");
              >>}
              >>}
              >>private Connection getConnection(){
              >>try {
              >>Connection con = StaticParams.POOL_DATASOURCE.getConnection();
              >>return con;
              >>     } catch(Exception e) {
              >>     System.out.println("TestBean.getConnection() Unable to get get pool
              >>connection
              >>" + e);
              >>     }
              >>}
              >>
              >>
              >>
              >>
              >>"Priscilla Fung" <[email protected]> wrote:
              >>>
              >>>It should work if you are using TxDataSource. Could you post your
              >config.xml,
              >>>deployment descriptors, code snippet for TestSession?
              >>>
              >>>Regards,
              >>>
              >>>Priscilla
              >>>
              >>>"Ranganath" <[email protected]> wrote:
              >>>>
              >>>>Hi,
              >>>>
              >>>> I am using UserTransaction in Stateless Session bean .
              >>>> Transaction is not rolling back.
              >>>>
              >>>>The following code is writen in stateless session bean. In UserTransaction
              >>>>i am
              >>>>calling Two methods of another stateless session bean.
              >>>> The problem is if doJob2() method fails, doJob1() method is rolling
              >>>> back. These
              >>>>two methods consist of SQL statement with different Connection Object
              >>>>from TXDataSource.And
              >>>>session bean(TestSession) is set to CMT, attribute as "Required".
              >>>>
              >>>> try{
              >>>> Context ictx=new InitialContext();
              >>>> TestHome home=(TestHome)ictx.lookup("TestSession");
              >>>>     utx = sessionCtx.getUserTransaction();
              >>>>     utx.begin();
              >>>> TestRemote remote=home.create();
              >>>>     remote.doJob1();
              >>>>     remote.doJob2();
              >>>>     utx.commit();
              >>>> }catch(Exception e)
              >>>> {
              >>>>     try{
              >>>>      utx.rollback();
              >>>> }catch(Exception ex)
              >>>> {
              >>>>     System.out.println("unable to rollback"+ex);
              >>>>     }
              >>>> }
              >>>>if any SQL Exception as occured in doJob2(), its calling method utx.rollback()
              >>>>in catch block. but SQL statements executed thru. doJob1() are not
              >>rolling
              >>>>back.
              >>>>what might be the reason?
              >>>>
              >>>>thanks
              >>>>Ranganath
              >>>
              >>
              >
              

  • ALSB 3 roll back a transaction without sending a fault message

    Hi,
    I have a proxy service exposed as a web service, which has some operations that call some tuxedo systems, do some transformation of the data, etc.
    When any of it's operations is invoked I have to build an XML reply in both success AND error cases. The difference between both is a response code, if the call to the backend tuxedo system responded with a stream that starts with OK then everything is fine and I build the reply and send it back, but if an error ocurred it will send back an stream that starts with ER followed by an error code, with which I will have to build the SAME XML but using this error code and send it back to the client instead as a "successful" invocation instead of sending a SOAP fault message. Also I need to roll back the whole transaction in that error case. The system works like that and it can't be changed, we are building this proxy service based on a WSDL file given to us by the partner company that invokes our service and there's lots of other clients that do it in the same way. The problem is that I haven't found a way to roll back the transaction without making the proxy service send a fault message that the client system won't understand. The "Raise error" and "Reply with failure" do roll back the transaction but both send a fault message. Is there a way to answer "successfully" to the client but make an explicit rollback?

    Hi,
    Check the blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/22017.. [original link is broken] [original link is broken] [original link is broken]
    You can handle the exception on your web service and model a Notification task so that you can send e-mail notification to the sender in case of exception
    Regards, Anil

  • Transaction - the subprocess rolling back parent JTA

    According to Oracle documentation,
    "if the caller partner link specifies transaction=participate and the subprocess also specifies transaction=participate, the subprocess rolls back the client JTA transaction."
    But what I experience is if I just set transaction=participate for the partner link alone (and not having transaction=participate in the subprocess), when the subprocess rolls back, it rolls back parent JTA transaction also.
    In fact, if we have just transaction=participate for the partner link (and not having transaction=participate in the subprocess), then the rollback in either Parent or Subprocess, is rolling back both Parent and Subprocess.
    Can somebody provide the exact usage of using transaction=participate at the subprocess level?
    Thanks,
    Joe

    Joe,
    You are seeing expected behaviour. Even though both flags are called "transaction" and both are set to "participate", they do different things.
    By specifying transaction=participate on the partner link, you are instructing the subprocess to enlist in the transaction. When the subprocess starts, it will then enlist itself. That's all. Now if a rollback occurs, all participating processes will be rolled back.
    If you specify transaction=participate at the process level, it has a different effect, and doesn't affect whether or not the transaction is rolled back or not. As I said in the previous paragraph, if the partner link specified transaction=participate, the subprocess will roll back if a rollback is issued, no matter what other settings you have.
    So what effect does that setting have at the process level? According to the doc:
    When transaction=participate, the process produces a fault that is not handled by fault handlers, which calls the transaction to be rolled back.
    This is not exactly crystal clear, to me, anyway. In practice if this is set and your subprocess throws an unhandled fault, it triggers a rollback instead of throwing a fault as it normally would. This exception goes immediately back to the calling process since it is participating on the transaction as well.
    If the property is not set, and the subprocess throws an unhandled fault, you get the normal behavior. Namely, the process will be flagged as faulted, and the calling process will wait until it gets a transaction timeout (no relation to the JTA transaction we're talking about here).
    It's a simple test. Create two processes, then run it twice. Once with that property set, and one without.
    The key is to remember that although they are both called "transaction=participate", the effect they have is very different. It was probably not a good move to use the same name and value like that. Hope this helps.
    Regards,
    Robin.

  • ROLL BACK WORK

    Hii All how to roll back from CALL TRANSACTION?
    or is there any BAPI for source list maintain for ME01 other than BAPI_SOURCEDETERMIN_GETSOS.
    so that i can roll back ME01 updation.?

    hi..
      you can use
         CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
                     IMPORTING
                          return = i_return1.

  • Rolling back problem during installation of photoshop elements 10

    I am trying to install photoshop elements 10, however it gets to a certain point each time and starts rolling back the instalation. I have saw on FAQs to turn off my mcafee virus scan temporarily to allow it to install. I have done this but the same problem occurs. Can anyone help?

    Hi,
    Does it show you the name of the component it is trying to install when it starts rolling back?
    Thanks

  • Roll Back a Transaction from a DBControl

    Hello BEA Experts
    I have a DB control ,and there is a method in it that inserts data into a table , this method gets called multiple times and if a call to this method fails I would like to roll back the changes made by priors calls to that particular method with in a transaction.
    My problem is that if I use a DBControl will I be able to manage the transaction and roll back if something gooes wrong as I wasnt able to find any example of such a scenario.I would appreciate if anyone could point me in the right direction and an example would be great, or should I use a custom control rather than using a DB control and I am using oracle9i and theres only one Database and I am not using EJBs

    Administrators can reassign tasks, but they currently can't (in 11.1.1.4) move process token(s) backward/forward to a different activity (including human tasks). That capability, known as "grab", is planned for an upcoming release.

Maybe you are looking for

  • How do i use PL/SQL function in filter operator

    Hi, i want to use one pl/sql function in filter operator. how do i use it in filter condition. error i am getting is " error occured during expression validatation. my filter condition is INOUTGRP1.LAST_UPDATE_DATE > "GET_LAST_UPDATE_DATE"() can any

  • Problem transferring video..to ipod..pls help!!!

    im having trouble converting my videos to fit my ipod...im using quick time pro7....so i decided to try downloading it from itunes store...and it goes in my ipod..really small....u can hear it...but it doesnt play...it looks like a photo!!!...someone

  • Still Picture quality problems

    Here's my problem: After creating a movie I notice that the same still photo is being rendered to DVD in different qualities. In other words, I have the same background slide used in different sections of a movie. Some are pixelated, others are smoot

  • Office 2011 - Can't Find Visual Basic for Applications Error

    I have recently installed Microsoft Office 2011 on my Mac and have been using the Dev tools to program macros in VB. Suddenly, it stopped loading it when I try to enter the VB workspace and throws an error stating that "Can't Find Visual Basic for Ap

  • ITunes 10.5 won't run after install

    Have done a clean install of 10.5 twice now ie uninstalled all apple software and reinstalled iTunes. After restart iTunes starts to load and freezes locked out all Internet  access as well. Any ideas?