Fix (APAR): PM89827 Status: Fix Release: 8.0.0.7 Operating System: AIX,HP-UX,IBM i,Linux,Mac OS,Solaris,Windows,z/OS Supersedes Fixes: CMVC Defect: xxxxxx Byte size of APAR: 248974 Date: 2014-01-16 Abstract: vmm rolls back global transaction when an api call fails Description/symptom of problem: PM89827 resolves the following problem: ERROR DESCRIPTION: Virtual member manager (VMM) joins a transaction if one is in progress, otherwise it creates a new one. If an exception occurs at any point during the API call(such as get, search, create, update, delete, etc..), the transaction fails and may be rolled back. VMM should provide support to suspend the active Global Transaction, and create a new one internally before calling each of the VMM API's. So, when any call fails, the global transaction of the caller will remain intact. LOCAL FIX: N/A PROBLEM SUMMARY USERS AFFECTED: All users of IBM WebSphere Application Server V8.0 and V8.5 Virtual member manager (VMM) PROBLEM DESCRIPTION: VMM rollsback global transaction when a VMM ServiceProvider API call throws an exception back to the caller RECOMMENDATION: None VMM ServiceProvider API calls such as GET, SEARCH, LOGIN, UPDATE, CREATE, etc.. currently use active global transactions. So when any VMM operation fails internally, it marks the global transaction for rollback. VMM cannot determine if the transaction succeeded or failed based on the exception received. PROBLEM CONCLUSION: A new property "useGlobalTransaction" has been added to the "contexts" DataObject, which is part of the input DataObject while invoking the VMM API. When this property value is set to false then VMM creates a NEW transaction internally, so no global transaction is affected. If the property is not defined or its value is set to true, then the behavior is as it previously was. VMM will not create new transaction for the API calls. This fix is applicable for all VMM APIs. Sample code with 'useGlobalTransaction' property defined: DataObject root = SDOHelper.createRootDataObject(); /* Set 'useGlobalTransaction=false' in the context dataobject and instruct VMM to create a new transaction for invoking the VMM API */ DataObject contexts = root.createDataObject(DO_CONTEXTS); // DO_CONTEXTS = "contexts" contexts.set("key", "useGlobalTransaction"); contexts.set("value", "false"); .... DataObject entity = SDOHelper.createEntityDataObject(root, null, SchemaConstants.DO_GROUP); entity.createDataObject(SchemaConstants.DO_IDENTIFIER).set(Schem aConstants.PROP_UNIQUE_NAME, principalDN); .... //Inside PrivilegedExceptionAction.run() Service service = new LocalServiceProvider(null); return service.get(root); The fix for this APAR is currently targeted for inclusion in fix packs 8.0.0.7, 8.5.5.1. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980 Directions to apply fix: NOTE: Mark with an X the: 1) Release the fix applies to 2) The Editions that apply 3) And then DELETE THIS NOTE Fix applies to Editions: Release 8.0 _X_ Application Server (Express or BASE) _X_ Network Deployment (ND) __ Edge Components __ Developer Install Fix to all WebSphere installations unless special instructions are included below. Special Instructions: None NOTE: The user must: * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V1.4.3 or newer of the Installation Manager. Certain iFixes may require a newer version of the Installation Manager and the Installation Manager will inform you during the installation process if a newer version is required. The IBM Information Center can provide details, if needed, on the use of the Installation Manager to apply the iFixes. http://publib.boulder.ibm.com/infocenter/install/v1r4/index.jsp. Shutdown WebSphere Application Server before applying the iFixes. Restart WebSphere Application Server after applying the iFixes. Directions to remove fix: The IBM Information Center can provide details, if needed, on the use of the Installation Manager to remove the iFixes. http://publib.boulder.ibm.com/infocenter/install/v1r4/index.jsp. Shutdown WebSphere Application Server before removing the iFixes. Restart WebSphere Application Server after removing the iFixes. Directions to re-apply fix: 1) Shutdown WebSphere Application Server. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere Application Server. Additional Information: