-
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
-
Labels:
-
Environment:OpenIDM version "5.5.0.1-RC4" (revision: 9f070bc) jenkins-OpenIDM - 5.5.x - Release-25 sustaining/5.5.x
-
Target Version/s:
-
Verified Version/s:
For update process I have used these steps:
- install OpenIDM 5.0.0 with a JDBC repo (MySQL)
- start OpenIDM
- cp openidm-5.5.0.1-RC4.zip path/to/openidm/bin/update
- ./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.
- depends on
-
OPENIDM-10145 Restart action in update does not work properly and should be removed
-
- Closed
-