Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-6538

After update from 4.5 to 5.0 many services are unable to startup

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: OpenIDM 5.0.0
    • Fix Version/s: OpenIDM 5.0.0
    • Component/s: _Update
    • Labels:
    • Environment:
      OpenIDM version "5.0.0-SNAPSHOT" (revision: 0421867) using MySQL repo

      Description

      Steps to reproduce

      • install OpenIDM 4.5.0 with MySQL as a repo and start it
      • prepare a ZIP of OpenIDM 5.0.0-SNAPSHOT without the files conf/repo.orientdb.json.pach and conf/managed.json.patch (and with references to this file removed from the .checksums.csv file) so that we workaround the bugs OPENIDM-6535 and OPENIDM-6536. The ZIP should also have a fixed authentication.json.patch (remove extra comma as descrived in OPENIDM-6537)
      • copy custom OpenIDM 5.0.0-SNAPSHOT ZIP in openidm/bin/update
      • launch Update:
        ./cli.sh update  --acceptLicense  --user openidm-admin:openidm-admin  --url http://localhost:8080/openidm openidm-5.0.0-SNAPSHOT.zip
        

      The update goes OK and we get this output on the CLI.SH command line:

      Installing the update archive openidm-5.0.0-SNAPSHOT.zip
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      Update procedure is still processing...
      The update process is complete with a status of COMPLETE
      Restarting OpenIDM.
      Restart request completed.
      

      But during the restart, some services are unable to start and OpenIDM never gets ready.
      Here is a extract of what we see in OpenIDM log:

      (...)
      SEVERE: Bundle: org.forgerock.openidm.cluster [18] [org.forgerock.openidm.cluster] Cannot register Component
      java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.lang.String
             	at org.apache.felix.cm.impl.CachingPersistenceManagerProxy.getDictionaries(CachingPersistenceManagerProxy.java:159)
             	at org.apache.felix.cm.impl.ConfigurationManager.listConfigurations(ConfigurationManager.java:658)
             	at org.apache.felix.cm.impl.ConfigurationAdminImpl.listConfigurations(ConfigurationAdminImpl.java:185)
             	at org.apache.felix.scr.impl.config.ConfigurationSupport.findConfigurations(ConfigurationSupport.java:637)
             	at org.apache.felix.scr.impl.config.ConfigurationSupport.findFactoryConfigurations(ConfigurationSupport.java:580)
             	at org.apache.felix.scr.impl.config.ConfigurationSupport.configureComponentHolder(ConfigurationSupport.java:128)
             	at org.apache.felix.scr.impl.ComponentRegistry.registerComponentHolder(ComponentRegistry.java:315)
             	at org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:461)
             	at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:309)
             	at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:270)
             	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:358)
             	at org.apache.felix.scr.impl.Activator.access$000(Activator.java:53)
             	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:260)
             	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
             	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)
             	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482)
             	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)
             	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
             	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)
             	at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:916)
             	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:835)
             	at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:517)
             	at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)
             	at org.apache.felix.framework.Felix.startBundle(Felix.java:2172)
             	at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371)
             	at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
             	at java.lang.Thread.run(Thread.java:745)
      
      Aug 31, 2016 12:03:49 PM org.forgerock.openidm.config.installer.JSONConfigInstaller setConfig
      WARNING: Loading configuration file /Users/laurent/Installs/openidm/conf/authentication.json failed
      java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.lang.String
             	at org.apache.felix.cm.impl.CachingPersistenceManagerProxy.getDictionaries(CachingPersistenceManagerProxy.java:159)
             	at org.apache.felix.cm.impl.ConfigurationManager.listConfigurations(ConfigurationManager.java:658)
             	at org.apache.felix.cm.impl.ConfigurationAdminImpl.listConfigurations(ConfigurationAdminImpl.java:185)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.findExistingConfiguration(JSONConfigInstaller.java:467)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.getConfiguration(JSONConfigInstaller.java:434)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.setConfig(JSONConfigInstaller.java:320)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.setConfig(JSONConfigInstaller.java:311)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.install(JSONConfigInstaller.java:123)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:937)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:871)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:485)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:243)
             	at org.apache.felix.fileinstall.internal.FileInstall.updated(FileInstall.java:253)
             	at org.apache.felix.fileinstall.internal.FileInstall$ConfigAdminSupport$Tracker.updated(FileInstall.java:377)
             	at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)
             	at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)
             	at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.provide(ConfigurationManager.java:1602)
             	at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1545)
             	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143)
             	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110)
             	at java.lang.Thread.run(Thread.java:745)
      
      Aug 31, 2016 12:03:49 PM org.forgerock.openidm.config.installer.JSONConfigInstaller parsePid
      INFO: Configuring service PID org.forgerock.openidm.info factory PID ping
      Aug 31, 2016 12:03:49 PM org.forgerock.openidm.config.installer.JSONConfigInstaller setConfig
      WARNING: Loading configuration file /Users/laurent/Installs/openidm/conf/info-ping.json failed
      java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.lang.String
             	at org.apache.felix.cm.impl.CachingPersistenceManagerProxy.getDictionaries(CachingPersistenceManagerProxy.java:159)
             	at org.apache.felix.cm.impl.ConfigurationManager.listConfigurations(ConfigurationManager.java:658)
             	at org.apache.felix.cm.impl.ConfigurationAdminImpl.listConfigurations(ConfigurationAdminImpl.java:185)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.findExistingConfiguration(JSONConfigInstaller.java:467)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.getConfiguration(JSONConfigInstaller.java:434)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.setConfig(JSONConfigInstaller.java:320)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.setConfig(JSONConfigInstaller.java:311)
             	at org.forgerock.openidm.config.installer.JSONConfigInstaller.install(JSONConfigInstaller.java:123)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:937)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:871)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:485)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361)
             	at org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:243)
             	at org.apache.felix.fileinstall.internal.FileInstall.updated(FileInstall.java:253)
             	at org.apache.felix.fileinstall.internal.FileInstall$ConfigAdminSupport$Tracker.updated(FileInstall.java:377)
             	at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)
             	at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)
             	at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.provide(ConfigurationManager.java:1602)
             	at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1545)
             	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143)
             	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110)
             	at java.lang.Thread.run(Thread.java:745)
      (...)        
      Aug 31, 2016 12:04:06 PM org.forgerock.openidm.info.impl.HealthService$4 run
      SEVERE: OpenIDM failure during startup, ACTIVE_NOT_READY: Required services not all started [org.forgerock.openidm.api-servlet, org.forgerock.openidm.audit, org.forgerock.openidm.authentication, org.forgerock.openidm.cluster, org.forgerock.openidm.config.manage, org.forgerock.openidm.managed, org.forgerock.openidm.policy, org.forgerock.openidm.provisioner.openicf.connectorinfoprovider, org.forgerock.openidm.repo.(orientdb|jdbc), org.forgerock.openidm.scheduler, org.forgerock.openidm.script, org.forgerock.openidm.security]   
      

      A longer extract from the OpeniDM log (starting at the end of the update, just before restart) can be found in the attached file log_after_update.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jbranch Jon Branch
              Reporter:
              laurent.bristiel Laurent Bristiel [X] (Inactive)
              QA Assignee:
              David Chodur [X] David Chodur [X] (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: