Saturday, May 10, 2014

OpenAM 11.0.1 Upgrade - Fail

I had some free time the day before yesterday and so went ahead to play around with OpenAM 11.0.1 upgrade. My test environment was 10.1.0-Express.



Not so smooth initially. Hit into "Connect Error: No operational connection factories available" error during upgrade.





amUpgrade:05/08/2014 05:53:53:317 PM SGT: Thread[ajp-apr-192.168.0.88-8009-exec-1,5,main]
ERROR: Error occured while upgrading OpenAM
org.forgerock.openam.upgrade.UpgradeException: Connect Error: No operational connection factories available
at org.forgerock.openam.upgrade.steps.UpgradeEntitlementsStep.perform(UpgradeEntitlementsStep.java:174)
at org.forgerock.openam.upgrade.UpgradeServices.upgrade(UpgradeServices.java:172)
at com.sun.identity.config.upgrade.Upgrade.doUpgrade(Upgrade.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.click.util.ClickUtils.invokeMethod(ClickUtils.java:3317)
at org.apache.click.util.ClickUtils.invokeListener(ClickUtils.java:2088)
at org.apache.click.control.AbstractControl$1.onAction(AbstractControl.java:228)
at org.apache.click.ActionEventDispatcher.fireActionEvent(ActionEventDispatcher.java:259)
at org.apache.click.ActionEventDispatcher.fireActionEvents(ActionEventDispatcher.java:236)
at org.apache.click.ActionEventDispatcher.fireActionEvents(ActionEventDispatcher.java:180)
at org.apache.click.ClickServlet.performOnProcess(ClickServlet.java:746)
at org.apache.click.ClickServlet.processAjaxPageEvents(ClickServlet.java:1860)
at org.apache.click.ClickServlet.processPage(ClickServlet.java:559)
at org.apache.click.ClickServlet.handleRequest(ClickServlet.java:383)
at org.apache.click.ClickServlet.doGet(ClickServlet.java:276)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.forgerock.openam.validation.ResponseValidationFilter.doFilter(ResponseValidationFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:113)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:197)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.forgerock.openam.upgrade.UpgradeException: Connect Error: No operational connection factories available
at org.forgerock.openam.upgrade.steps.UpgradeEntitlementsStep.upgradeEntitlementIndexes(UpgradeEntitlementsStep.java:338)
at org.forgerock.openam.upgrade.steps.UpgradeEntitlementsStep.perform(UpgradeEntitlementsStep.java:170)
... 41 more



I thought the embedded OpenDJ was dead, but upon checking, it was running as per normal after it was upgraded from version 2.4.6.8102 to 2.6.1.10289.


ERROR: Upgrade required: upgrading from 8102 to 10289

>>>> OpenDJ Upgrade Utility

 * OpenDJ will be upgraded from version 2.4.6.8102 to 2.6.1.10289
 * See '/home/azlabs/var/openam1/opends/upgrade.log' for a detailed log of
 this operation

>>>> Preparing to upgrade

  OpenDJ 2.5.0 modified the default configuration of the 'isMemberOf' virtual
  attribute so that it is included with group entries. This was done in order
  to make it easier for users to determine which groups a 'nested' group
  belongs to.
  Do you want to make this configuration change? (yes/no) yes

  The upgrade is ready to proceed. Do you wish to continue? (yes/no) yes

:
:

>>>> Performing upgrade
>>>> OpenDJ was successfully upgraded from version 2.4.6.8102 to 2.6.1.10289

 * See '/home/azlabs/var/openam1/opends/upgrade.log' for a detailed log of this operation


No idea then. So what to do? Clicked on Upgrade to OpenAM 11.0.1 hyperlink again. Ops! No good. 





What to do next? Re-do! It's quite simple as I have already backed up every directories.

1. Stop application server
2. Remove the "corrupted" var directory
3. Untar the backed up var directory
4. Start application server again

This time round, everything went through nicely.

So why?


I suspect my VM was too slow (The VM was a shared resource with other projects running). See the broken image which the red arrow is pointing to below?







.


No comments:

Post a Comment