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

Update from IDM5.5.0 to IDM5.5.0.1 is finished with error.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: OpenIDM 5.5.0.1
    • Fix Version/s: OpenIDM 5.5.0.1
    • Component/s: _Update
    • Environment:
      OpenIDM version "5.5.0.1-RC4" (revision: 9f070bc) jenkins-OpenIDM - 5.5.x - Release-25 sustaining/5.5.x

      Description

      For update process I have used these steps:

      1. install OpenIDM 5.0.0 with a JDBC repo (MySQL)
      2. start OpenIDM
      3. cp openidm-5.5.0.1-RC4.zip path/to/openidm/bin/update
      4. ./cli.sh update --skipRepoUpdatePreview --acceptLicense --user openidm-admin:openidm-admin --url http://localhost:8080/openidm openidm-5.5.0.1-RC4.zip

      Expected result: 

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

      Actual result:

      ....
      Installing the update archive openidm-5.5.0.1-RC4.zip
      Update procedure is still processing...
      The update process is complete.
      org.forgerock.json.resource.InternalServerErrorException: Update cannot be completed or has already been marked complete
      at org.forgerock.json.resource.ResourceException.newResourceException(ResourceException.java:231)
      at org.forgerock.json.resource.ResourceException.newResourceException(ResourceException.java:181)
      at org.forgerock.json.resource.http.CrestAdapter.createResourceException(CrestAdapter.java:419)
      at org.forgerock.json.resource.http.CrestAdapter.lambda$handleAction$0(CrestAdapter.java:185)
      at org.forgerock.util.CloseSilentlyFunction.apply(CloseSilentlyFunction.java:53)
      at org.forgerock.util.CloseSilentlyFunction.apply(CloseSilentlyFunction.java:29)
      at org.forgerock.util.promise.PromiseImpl.lambda$then$6(PromiseImpl.java:369)
      at org.forgerock.util.promise.PromiseImpl.handleCompletion(PromiseImpl.java:531)
      at org.forgerock.util.promise.PromiseImpl.setState(PromiseImpl.java:572)
      at org.forgerock.util.promise.PromiseImpl.tryHandleResult(PromiseImpl.java:258)
      at org.forgerock.util.promise.PromiseImpl.handleResult(PromiseImpl.java:208)
      at org.forgerock.util.promise.PromiseImpl.lambda$then$6(PromiseImpl.java:369)
      at org.forgerock.util.promise.PromiseImpl.handleCompletion(PromiseImpl.java:531)
      at org.forgerock.util.promise.PromiseImpl.setState(PromiseImpl.java:572)
      at org.forgerock.util.promise.PromiseImpl.tryHandleResult(PromiseImpl.java:258)
      at org.forgerock.util.promise.PromiseImpl.handleResult(PromiseImpl.java:208)
      at org.forgerock.util.promise.PromiseImpl.lambda$then$6(PromiseImpl.java:369)
      at org.forgerock.util.promise.PromiseImpl.handleCompletion(PromiseImpl.java:531)
      at org.forgerock.util.promise.PromiseImpl.setState(PromiseImpl.java:572)
      at org.forgerock.util.promise.PromiseImpl.tryHandleResult(PromiseImpl.java:258)
      at org.forgerock.util.promise.PromiseImpl.handleResult(PromiseImpl.java:208)
      at org.forgerock.http.apache.async.AsyncHttpClient$PromiseHttpAsyncResponseConsumer.responseCompleted(AsyncHttpClient.java:143)
      at org.apache.http.impl.nio.client.MainClientExec.responseCompleted(MainClientExec.java:383)
      at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:168)
      at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:436)
      at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:326)
      at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
      at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)
      at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)
      at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
      at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
      at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
      at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
      at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
      at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
      at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)
      at java.lang.Thread.run(Thread.java:748)
      Unable to mark repository updates as complete.
      ERROR: Error during execution. The state of OpenIDM is now unknown. Last Attempted step was MARK_REPO_UPDATES_COMPLETE. Now attempting recovery steps.
      Restarting OpenIDM.
      Restart request completed.
      

      Also adding error which is arises in console:

      -> OpenIDM version "5.5.0.1-RC4" (revision: 9f070bc) jenkins-OpenIDM - 5.5.x - Release-25 sustaining/5.5.x
      OpenIDM ready
      OpenIDM ready
      OpenIDM ready
      Feb 05, 2018 12:43:41 PM org.forgerock.openidm.servlet.internal.ServletConnectionFactory$3 lambda$handleRequestWithLogging$8
      WARNING: Resource exception: 500 Internal Server Error: "Update cannot be completed or has already been marked complete"
      org.forgerock.json.resource.InternalServerErrorException: Update cannot be completed or has already been marked complete
      at org.forgerock.openidm.maintenance.impl.UpdateService.handleMarkComplete(UpdateService.java:162)
      at org.forgerock.openidm.maintenance.impl.UpdateService.handleAction(UpdateService.java:140)
      at org.forgerock.json.resource.Router.handleAction(Router.java:250)
      at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:55)
      at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:44)
      at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:53)
      at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:44)
      at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:53)
      at org.forgerock.openidm.filter.ScriptedFilter.lambda$filterAction$0(ScriptedFilter.java:80)
      at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:252)
      at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:216)
      at org.forgerock.openidm.filter.ScriptedFilter.filterRequest(ScriptedFilter.java:142)
      at org.forgerock.openidm.filter.ScriptedFilter.filterAction(ScriptedFilter.java:80)
      at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:42)
      at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:53)
      at org.forgerock.openidm.audit.filter.AuditFilter.lambda$filterAction$0(AuditFilter.java:112)
      at org.forgerock.openidm.audit.filter.AuditFilter.logAuditAccessEntry(AuditFilter.java:168)
      at org.forgerock.openidm.audit.filter.AuditFilter.filterAction(AuditFilter.java:112)
      at org.forgerock.openidm.filter.MutableFilterDecorator.filterAction(MutableFilterDecorator.java:66)
      at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:42)
      at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:53)
      at org.forgerock.openidm.servlet.internal.ServletConnectionFactory$3.lambda$filterAction$0(ServletConnectionFactory.java:373)
      at org.forgerock.openidm.servlet.internal.ServletConnectionFactory$3.handleRequestWithLogging(ServletConnectionFactory.java:430)
      at org.forgerock.openidm.servlet.internal.ServletConnectionFactory$3.filterAction(ServletConnectionFactory.java:373)
      at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:53)
      at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:44)
      at org.forgerock.openidm.filter.MutableFilterDecorator.filterAction(MutableFilterDecorator.java:66)
      at org.forgerock.openidm.filter.MutableFilterDecorator.filterAction(MutableFilterDecorator.java:66)
      at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:53)
      at org.forgerock.openidm.filter.PassthroughFilter.filterAction(PassthroughFilter.java:42)
      at org.forgerock.openidm.filter.MutableFilterDecorator.filterAction(MutableFilterDecorator.java:66)
      at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:42)
      at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:53)
      at org.forgerock.json.resource.FilterChain.handleAction(FilterChain.java:222)
      at org.forgerock.json.resource.InternalConnection.actionAsync(InternalConnection.java:29)
      at org.forgerock.json.resource.AbstractConnectionWrapper.actionAsync(AbstractConnectionWrapper.java:74)
      at org.forgerock.openidm.servlet.internal.ServletConnectionFactory$2$1.actionAsync(ServletConnectionFactory.java:335)
      at org.forgerock.json.resource.http.RequestRunner.visitActionRequest(RequestRunner.java:136)
      at org.forgerock.json.resource.http.RequestRunner.visitActionRequest(RequestRunner.java:82)
      at org.forgerock.json.resource.Requests$ActionRequestImpl.accept(Requests.java:177)
      at org.forgerock.json.resource.http.RequestRunner.handleResult(RequestRunner.java:128)
      at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:252)
      at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:241)
      at org.forgerock.json.resource.http.HttpAdapter.doRequest(HttpAdapter.java:712)
      at org.forgerock.json.resource.http.HttpAdapter.doAction(HttpAdapter.java:618)
      at org.forgerock.json.resource.http.HttpAdapter.handle(HttpAdapter.java:282)
      at org.forgerock.http.handler.Handlers$HandlerDescribableAsDescribableHandler.handle(Handlers.java:146)
      at org.forgerock.http.filter.OptionsFilter.filter(OptionsFilter.java:69)
      at org.forgerock.http.handler.Handlers$1.handle(Handlers.java:53)
      at org.forgerock.http.swagger.OpenApiRequestFilter.filter(OpenApiRequestFilter.java:62)
      at org.forgerock.http.handler.Handlers$1.handle(Handlers.java:53)
      at org.forgerock.caf.authentication.framework.AuthenticationFramework.grantAccess(AuthenticationFramework.java:188)
      at org.forgerock.caf.authentication.framework.AuthenticationFramework.lambda$onValidateRequestSuccess$1(AuthenticationFramework.java:181)
      at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:252)
      at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:241)
      at org.forgerock.caf.authentication.framework.AuthenticationFramework.validateRequest(AuthenticationFramework.java:144)
      at org.forgerock.caf.authentication.framework.AuthenticationFramework.processMessage(AuthenticationFramework.java:134)
      at org.forgerock.caf.authentication.framework.AuthenticationFilter.filter(AuthenticationFilter.java:84)
      at org.forgerock.openidm.auth.AuthFilterWrapper.filter(AuthFilterWrapper.java:82)
      at org.forgerock.http.handler.Handlers$1.handle(Handlers.java:53)
      at org.forgerock.http.filter.TransactionIdInboundFilter.filter(TransactionIdInboundFilter.java:75)
      at org.forgerock.http.handler.Handlers$1.handle(Handlers.java:53)
      at org.forgerock.http.servlet.HttpFrameworkServlet.service(HttpFrameworkServlet.java:258)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
      at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:257)
      at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:220)
      at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.forgerock.openidm.servletregistration.impl.ServletRegistrationSingleton$FilterProxy.invoke(ServletRegistrationSingleton.java:284)
      at com.sun.proxy.$Proxy54.doFilter(Unknown Source)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)
      at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:301)
      at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.forgerock.openidm.servletregistration.impl.ServletRegistrationSingleton$FilterProxy.invoke(ServletRegistrationSingleton.java:284)
      at com.sun.proxy.$Proxy54.doFilter(Unknown Source)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
      at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
      at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:276)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      at org.eclipse.jetty.server.Server.handle(Server.java:499)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
      at java.lang.Thread.run(Thread.java:748)
      Caused by: org.forgerock.openidm.maintenance.upgrade.UpdateException: Update cannot be completed or has already been marked complete
      at org.forgerock.openidm.maintenance.upgrade.UpdateManagerImpl$UpdateThread.complete(UpdateManagerImpl.java:1284)
      at org.forgerock.openidm.maintenance.upgrade.UpdateManagerImpl.completeRepoUpdates(UpdateManagerImpl.java:765)
      at org.forgerock.openidm.maintenance.impl.UpdateService.handleMarkComplete(UpdateService.java:160)
      ... 101 more
      

       

      Nevertheless it looks like update is successfully completed and after manual start of IDM is observed updated version and also IDM works as expected.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                mark.offutt Mark Offutt [X] (Inactive)
                Reporter:
                jakub.janoska Jakub Janoska [X] (Inactive)
                QA Assignee:
                Jakub Janoska [X] (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: