000037258 - ClassNotFoundException: com.aveksa.migration.db.password.ViewPasswordSettingMigrator while installing a patch in RSA Governance & Lifecycle 7.1.0 P01 or P02

Document created by RSA Customer Support Employee on Apr 8, 2019
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000037258
Applies ToRSA Product Set: Identity Governance & Lifecycle
RSA Version/Condition: 7.1.0 P01, 7.1.0 P02
Application Server: WildFly

 
IssueThe following error is thrown after applying RSA Identity Governance & Lifecycle P03, P04 or P05 to a server running 7.1.0. P01 or P02:
 
java.lang.ClassNotFoundException: com.aveksa.migration.db.password.ViewPasswordSettingMigrator

 

User-added image


The aveksaServer.log shows the following error:
 
03/07/2019 22:41:08.555 INFO  (ServerService Thread Pool -- 82) [com.aveksa.server.runtime.AveksaSystem] ******************** Aveksa System Initialization End ********************
03/07/2019 22:41:08.555 FATAL (ServerService Thread Pool -- 82) [com.aveksa.server.runtime.AveksaSystem]  '

Initialization has failed!

java.lang.ClassNotFoundException: com.aveksa.migration.db.password.ViewPasswordSettingMigrator from [Module "deployment.aveksa.ear:main" from Service Module Loader]


The patch.log shows the following exception:
SQL/line#: /home/oracle/wildfly-10.1.0.Final/standalone/tmp/vfs/deployment/deployment37c53e28e101823/aveksa.war-2687d1caa55764e9/WEB-INF/database/updates/7.0/ACM-73375.sql(1):
Start time [Thu Mar 07 22:41:08 EST 2019]
java com.aveksa.migration.db.password.ViewPasswordSettingMigrator java.lang.ClassNotFoundException: com.aveksa.migration.db.password.ViewPasswordSettingMigrator from [Module "deployment.aveksa.ear:main" from Service Module Loader]   
 at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
 at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
 at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
 at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
 at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264)
 at com.aveksa.migration.jdbctool.SQLFileExecutor.execute(SQLFileExecutor.java:211)   
 at com.aveksa.migration.jdbctool.SQLFileExecutor.execute(SQLFileExecutor.java:107)
 at com.aveksa.migration.jdbctool.SQLFileExecutor.execute(SQLFileExecutor.java:98)
 at com.aveksa.migration.jdbctool.IncrementalUpdate.update(IncrementalUpdate.java:481)
 at com.aveksa.migration.jdbctool.MigrateSchema.execute(MigrateSchema.java:159)
 at com.aveksa.migration.jdbctool.CheckDatabase.migrateSchema(CheckDatabase.java:1403)
 at com.aveksa.migration.jdbctool.CheckDatabase.check(CheckDatabase.java:577)
 at com.aveksa.server.runtime.AveksaSystem.initialize(AveksaSystem.java:309)
 at com.aveksa.init.Startup.init(Startup.java:52) at com.aveksa.gui.core.ACMFramework.init(ACMFramework.java:94)
 at com.aveksa.gui.core.ACMFramework.initInstance(ACMFramework.java:83)
 at com.aveksa.init.InitServlet.init(InitServlet.java:42)
 at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
 at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.handle(RunAsLifecycleInterceptor.java:65) 
 at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:76)
 at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
 at io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:250)
 at io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:133)
 at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:546)
 at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:517)
 at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
 at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
 at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
 at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
 at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
 at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
 at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
 at io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:559)
 at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:101)
 at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 at java.lang.Thread.run(Thread.java:748)
 at org.jboss.threads.JBossThread.run(JBossThread.java:320)
[0:00:00] File Completion Time: /home/oracle/wildfly-10.1.0.Final/standalone/tmp/vfs/deployment/deployment37c53e28e101823/aveksa.war-2687d1caa55764e9/WEB-INF/database/updates/7.0/ACM-73375.sql
[0:00:11] Total Migration Time
CauseTheRSA Identity Governance & Lifecycle 7.0.1 patch process for P03, P04 and P05 was not removing the deprecated script ACM-73375.sql which calls the Java class that has also been deprecated and removed. During the database patching process, ACM-73375 gets executed, calling com.aveksa.migration.db.password.ViewPasswordSettingMigrator class which no longer exists. As a result, the java.lang.ClassNotFoundException: com.aveksa.migration.db.password.ViewPasswordSettingMigrator error is thrown.
ResolutionThis issue has been resolved in RSA Identity Governance and Lifecycle P06 and higher.
WorkaroundThe following workaround will remove any customizations you have done to the ear file previously. You will need to reapply those customizations.

To work around the problem without fixing the patching utility until you apply P06, you need to rebuild a "clean" ear-file with the following steps:

Note: Before proceeding with the steps below, please make sure that ACM is running.
  1. SSH into the RSA Identity Governance and Lifecycle server as the oracle user.
  2. Navigate to the patch folder where patch files are extracted.  For example, cd  /home/oracle/Aveksa_7.1.0_P05.


cd /home/oracle/<Aveksa_PatchName>


  1. Remove the customizeACM directory if exists


rm -rf /tmp/customizeACM


  1. Prepare a clean patch for deployment


cp -ar ./aveksa.ear /tmp/customizeACM


  1. Deploy the new patch without any existing customizations or files from older versions


./deploy/customizeACM.sh -d
NotesInstallations with a remote database with WebSphere and WebLogic are not affected, as we take the pristine patch (e. g., 7.1.0 P05) ear-file and apply customization on top of it, so no obsolete scripts are not copied into it from previous patches/releases.

Attachments

    Outcomes