IBM Deletion of virtual portal fails with transaction timeout - United States virtual portal; timeout; delete; portlet; EJPAH4000E; EJPEB0804E; rollbackexception; admin; WTRN0006W TECHNOTE (TROUBLESHOOTING)

PROBLEM
Attempt to delete virtual portal via Virtual Portal Manager portlet fails with error:

EJPAH4000E: Failed to delete virtual portal 

Attempts to delete the virtual portal using the ConfigEngine task "delete-virtual-portal" may fail as well.


CAUSE
With the introduction of Managed Pages in WebSphere Portal 8.0, virtual portal deletions require more transaction time when removing from the system. This increased transaction time can lead to an error situation if either of the following timeouts is exceeded: 

 * the total and/or maximum transaction lifetime timeout value(s) for the server 
 * the WCM component's transaction timeout

DIAGNOSING THE PROBLEM
SystemOut.log may show the following: 

Example #1:

[9/10/12 10:08:43:757 AMT] 0000001a TimeoutManage I WTRN0006W: Transaction 00000139B080F02D0000000236122A9CB64A65E5C73B006CE4605EA6BEA57CC3F6A1783B00000139B080F02D0000000236122A9CB64A65E5C73B006CE4605EA6BEA57CC3F6A1783B00000001 has timed out after 120 seconds.

[datestamp] 00000055 JTATransactio E RT0025E: Failed to save user transaction
com.ibm.icm.ci.CDMTransactionException
at com.ibm.icm.ci.JCRUserTransaction.commit(JCRUserTransaction.java:189)
at com.ibm.icm.ci.JTATransaction.commit(JTATransaction.java:166)
at com.ibm.icm.jcr.RepositoryImpl.deleteWorkspace(RepositoryImpl.java:804)
at com.ibm.wps.wcm.vpmapping.JcrWorkspaceVirtualPortalHandler$2.run(JcrWorkspaceVirtualPortalHandler.java:336)
....
Caused by: javax.transaction.RollbackException
at com.ibm.tx.jta.impl.TransactionImpl.stage3CommitProcessing(TransactionImpl.java:1254)
....

[datestamp] 00000055 DeleteVPComma E com.ibm.wps.command.vp.DeleteVPCommand AbstractCommand.throwCommandException EJPEB0804E: DeleteVPCommand: An exception in the data backend occurred.
com.ibm.portal.resolver.exceptions.LocalizedIOException: EJPFB0002E: Exception occurred.
at com.ibm.wps.wcm.vpmapping.JcrWorkspaceVirtualPortalHandler.onVirtualPortalDeleted(JcrWorkspaceVirtualPortalHandler.java:348)
....
Caused by: javax.transaction.RollbackException
at com.ibm.tx.jta.impl.TransactionImpl.stage3CommitProcessing(TransactionImpl.java:1254)
.... 

Example #2: 

[datestamp] 000000f4 TimeoutManage I WTRN0006W: Transaction PA_MageVirtualPortals#MgeVirtualPortals.war#ManageVirtualPortals 00000143FA0D566200000001680EB7144589A0582D368B51A9A958DDACFF4F62EA89D95C00000143FA0D566200000001680EB7144589A0582D368B51A9A958DDACFF4F62EA89D95C00000001 has timed out after 120 seconds.
[datestamp] 000000f4 TimeoutManage I WTRN0124I: When the timeout occurred the thread with which the transaction is, or was most recently, associated was Thread[WebContainer : 8,5,main]. The stack trace of this thread when the timeout occurred was: 
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:150)
java.net.SocketInputStream.read(SocketInputStream.java:121)
com.ibm.db2.jcc.t4.x.b(x.java:208)
com.ibm.db2.jcc.t4.x.c(x.java:360)
com.ibm.db2.jcc.t4.x.c(x.java:473)
com.ibm.db2.jcc.t4.x.v(x.java:1241)
com.ibm.db2.jcc.t4.ab.a(ab.java:61)
com.ibm.db2.jcc.t4.p.a(p.java:50)
com.ibm.db2.jcc.t4.rb.b(rb.java:220)
com.ibm.db2.jcc.am.po.qc(po.java:3498)
com.ibm.db2.jcc.am.po.b(po.java:4461)
com.ibm.db2.jcc.am.po.ic(po.java:799)
com.ibm.db2.jcc.am.po.executeUpdate(po.java:777)
com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteUpdate(WSJdbcPreparedStatement.java:1187)
com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeUpdate(WSJdbcPreparedStatement.java:804)
com.ibm.icm.da.portable.common.sql.PPreparedStatement.executeUpdate(PPreparedStatement.java:83) com.ibm.icm.da.portable.data.DeleteWorkspace.deleteWideTableData(DeleteWorkspace.java:359)
com.ibm.icm.da.portable.data.DeleteWorkspace.deleteWorkspace(DeleteWorkspace.java:130) com.ibm.icm.da.portable.data.DataManager.deleteWorkspace(DataManager.java:700)
com.ibm.icm.ci.workspace.impl.PDeleteWorkspaceImpl.deleteWorkspace(PDeleteWorkspaceImpl.java:84) com.ibm.icm.ci.workspace.impl.WorkspaceService.deleteWorkspace(WorkspaceService.java:270) com.ibm.icm.jcr.RepositoryImpl.deleteWorkspace(RepositoryImpl.java:808)
com.ibm.wps.wcm.vpmapping.JcrWorkspaceVirtualPortalHandler$2.run(JcrWorkspaceVirtualPortalHandler.java:336)
com.ibm.wps.wcm.vpmapping.JcrWorkspaceVirtualPortalHandler$2.run(JcrWorkspaceVirtualPortalHandler.java:324) com.ibm.wps.ac.impl.UnrestrictedAccessImpl.run(UnrestrictedAccessImpl.java:84)
com.ibm.wps.command.ac.ExecuteUnrestrictedCommand.execute(ExecuteUnrestrictedCommand.java:90) com.ibm.wps.wcm.vpmapping.JcrWorkspaceVirtualPortalHandler.onVirtualPortalDeleted(JcrWorkspaceVirtualPortalHandler.java:345)
com.ibm.wps.command.vp.VirtualPortalHandlerImpl.onVirtualPortalDeleted(VirtualPortalHandlerImpl.java:396)
com.ibm.wps.command.vp.DeleteVPCommand.execute(DeleteVPCommand.java:178 com.ibm.wps.portlets.managevirtualportals.actions.DoDeleteVirtualPortalAction.deleteVirtualPortal(DoDeleteVirtualPortalAction.java:151)
....


RESOLVING THE PROBLEM
1. Increase the total transaction lifetime timeout and maximum transaction timeout values (for example, to 600 seconds or greater) using the instructions in the Related information section below. 

2. If the problem persists after addressing the change in suggestion #1 and the error in SystemOut.log shows that the timeout still occurs after 120 seconds (as opposed to the increased value that you just set), then update to Cumulative Fix (CF) 9 or later to get the fix for APAR PI04872 and then add (or update if already exists) the following custom property to the WCM_WCMConfigService Resource Environment Provider: 

Name: wcm.transaction.timeout 

Value: 600 (for example) 

Note: There is not a target value for a transaction timeouts that applies to every customer environment. The goal should be to find a value that allows the virtual portal deletion to succeed but does not introduce significant delay in being alerted for other transaction timeouts.

RELATED INFORMATION
#Transaction settings [http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/tjta_settlog.html]
PI04872 [http://www-01.ibm.com/support/docview.wss?uid=swg1PI04872]
Setting Resource Environment Provider custom properties [http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Setting_service_configuration_properties_wp8]

Question: Why is my delete virtual portal timing out after 120 seconds? When deleting a virtual portal via the Portal Admin User Interface (UI), it fails to complete. Examination of the SystemOut.log shows the following message:

WTRN0006W: Transaction 0000014BB8A229770000000161570720292692D3DEAA2109E6D66CBE4D063A1626DCF4E80000014BB8A229770000000161570720292692D3DEAA2109E6D66CBE4D063A1626DCF4E800000001 has timed out after 120 seconds.

00000006 TimeoutManage I WTRN0124I: When the timeout occurred the thread with which the transaction is, or was most recently, associated was Thread[WebContainer : 2,5,main]. The stack trace of this thread when the timeout occurred was: java.net.SocketInputStream.socketRead0(Native Method) java.net.SocketInputStream.read(SocketInputStream.java:140)
....

Answer: 1. Increase the total transaction lifetime timeout and maximum transaction timeout values (for example, to 600 seconds or greater) using the instructions in the Related information section below. 

2. If the problem persists after addressing the change in suggestion #1 and the error in SystemOut.log shows that the timeout still occurs after 120 seconds (as opposed to the increased value that you just set), then update to Cumulative Fix (CF) 9 or later to get the fix for APAR PI04872 and then add (or update if already exists) the following custom property to the WCM_WCMConfigService Resource Environment Provider: 

Name: wcm.transaction.timeout 

Value: 600 (for example)