Hi,
We are currently in the process of upgrading from APM 9.30 to 9.51. We are planning a side-by-side approach.
For this we have obtained new GW, DPS and MS SQL Server DB. We are following the below steps
1. Cloned 9.30 DB and copied them to new MS SQL Server DB.
2. Verified that we are able to connect to the new DB using SSMS from primary DPS
3. Installed APM 9.51 on primary DPS
4. Ran upgrade process on primary DPS.
In step 4 we encountered error saying unable to find DB.
On checking upgrade log files, we found the line "Connection timeout for login"
So we increased the timeout to 300 from the default 30.
However, this time again the upgrade process failed to connect to the cloned DB.
The log file contents are shown below
=====================================
2022-11-10 15:38:07,055 [pool-2-thread-1] (Step.java:106) INFO - *** Step sql_connect was executed. Execution result : success. Next step is: connect_sql_bsm_mng_db
2022-11-10 15:38:07,055 [pool-2-thread-1] (Step.java:74) INFO - *** Executing step: connect_sql_bsm_mng_db
2022-11-10 15:38:07,055 [pool-2-thread-1] (JavaTask.java:68) INFO - Start java task: com.mercury.infra.configserver.fm.tasks.CheckDbConnectionTask
2022-11-10 15:38:07,071 [pool-2-thread-1] (DefaultJDBCDriverConfigurtor.java:288) INFO - Attempting to read JDBC Driver conf file: F:\HPBSM\conf\jdbc.drivers.properties
2022-11-10 15:38:07,071 [pool-2-thread-1] (DefaultJDBCDriverConfigurtor.java:133) INFO - Following driver config will be used for db of type 'SQL Server':
class = 'com.mercury.jdbc.sqlserver.SQLServerDriver', url = 'jdbc:mercury:sqlserver://${host}:${port}', info = {allowPortWithNamedInstance=true , ApplicationName=Data Direct JDBC Driver, DatabaseName=${database}, MaxPooledStatements=5, integratedSecurity=false, encrypt=false, Password=${password}, LoginTimeout=300, SendStringParametersAsUnicode=false, User=${user}, trustServerCertificate=false, transactionMode=explicit}
2022-11-10 15:38:07,071 [pool-2-thread-1] (DefaultJDBCDriverConfigurtor.java:133) INFO - Following driver config will be used for db of type 'ORACLE Server':
class = 'com.mercury.jdbc.oracle.OracleDriver', url = 'jdbc:mercury:oracle://${host}:${port};sid=${sid}', info = {ApplicationName=Data Direct JDBC Driver, MaxPooledStatements=0, Password=${password}, BatchPerformanceWorkaround=true, WireProtocolMode=2, LoginTimeout=30, User=${user}}
2022-11-10 15:38:07,071 [pool-2-thread-1] (DefaultJDBCDriverConfigurtor.java:133) INFO - Following driver config will be used for db of type 'MSDE':
class = 'com.mercury.jdbc.sqlserver.SQLServerDriver', url = 'jdbc:mercury:sqlserver://${host}:${port}', info = {allowPortWithNamedInstance=true , ApplicationName=Data Direct JDBC Driver, DatabaseName=${database}, MaxPooledStatements=5, integratedSecurity=false, encrypt=false, Password=${password}, LoginTimeout=300, SendStringParametersAsUnicode=false, User=${user}, trustServerCertificate=false, transactionMode=explicit}
2022-11-10 15:38:07,071 [pool-2-thread-1] (DefaultJDBCDriverConfigurtor.java:133) INFO - Following driver config will be used for db of type 'mysql':
class = 'com.mysql.jdbc.Driver', url = 'jdbc:mysql://${host}:${port}/${database}?autoReconnect=true', info = {user=${user}, password=${password}, loginTimeout=30}
2022-11-10 15:39:25,917 [pool-2-thread-1] (GenericDatabaseConnectorImpl.java:25) ERROR - Failed to connect to the database dbType=(SQL Server); hostName=BYDE276OAFD\I0907; dbName=BAC_MGMT; userName=BACDBAdmin; server=BYDE276OAFD\I0907; sid=; port=58689
2022-11-10 15:39:25,917 [pool-2-thread-1] (CheckDbConnectionTask.java:35) ERROR - Failed to connect to the database
com.mercury.infra.db.exceptions.DBNotFoundException: Failed to connect to the database dbType=(SQL Server); hostName=BYDE276OAFD\I0907; dbName=BAC_MGMT; userName=BACDBAdmin; server=BYDE276OAFD\I0907; sid=; port=58689
at com.mercury.infra.db.operations.GenericDatabaseConnectorImpl.connectDatabase(GenericDatabaseConnectorImpl.java:26)
at com.mercury.infra.configserver.fm.tasks.CheckDbConnectionTask.execute(CheckDbConnectionTask.java:31)
at com.mercury.infra.flowmngr.model.JavaTask.execute(JavaTask.java:79)
at com.mercury.infra.flowmngr.model.Step.executeStep(Step.java:79)
at com.mercury.infra.flowmngr.FlowManager.run(FlowManager.java:206)
at com.mercury.infra.wizard.WizardController$FlowManagerRunner.doInBackground(WizardController.java:87)
at com.hp.acm.swing.executor.SwingJob$SwingJobWorker.doInBackground(SwingJob.java:319)
at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at javax.swing.SwingWorker.run(SwingWorker.java:334)
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)
Caused by: com.mercury.infra.utils.exceptions.MNoSuchElementException: Failed to create a Connection for: dbType=(SQL Server); hostName=BYDE276OAFD\I0907; dbName=BAC_MGMT; userName=BACDBAdmin; server=BYDE276OAFD\I0907; sid=; port=58689: [mercury][SQLServer JDBC Driver]SSL handshake failed: Remote host closed connection during handshake
at com.mercury.infra.utils.db.pools.ConnectionFactory.createConnection(ConnectionFactory.java:467)
at com.mercury.infra.utils.db.pools.ConnectionManager.getPrivateConnection(ConnectionManager.java:231)
at com.mercury.infra.db.operations.GenericDatabaseConnectorImpl.connectDatabase(GenericDatabaseConnectorImpl.java:21)
... 12 more
Caused by: com.mercury.jdbc.sqlserverbase.ddea: [mercury][SQLServer JDBC Driver]SSL handshake failed: Remote host closed connection during handshake
at com.mercury.jdbc.sqlserverbase.ddco.a(Unknown Source)
at com.mercury.jdbc.sqlserverbase.ddco.b(Unknown Source)
at com.mercury.jdbc.sqlserverbase.ddco.a(Unknown Source)
at com.mercury.jdbc.sqlserver.tds.ddc.<init>(Unknown Source)
at com.mercury.jdbc.sqlserver.SQLServerImplConnection.j(Unknown Source)
at com.mercury.jdbc.sqlserverbase.BaseConnection.b(Unknown Source)
at com.mercury.jdbc.sqlserverbase.BaseConnection.l(Unknown Source)
at com.mercury.jdbc.sqlserverbase.ddae.run(Unknown Source)
2022-11-10 15:39:25,917 [pool-2-thread-1] (Step.java:82) ERROR - Task execution failed
com.mercury.infra.flowmngr.exceptions.JavaTaskInstantiationException: Failed to instantiate java task com.mercury.infra.configserver.fm.tasks.CheckDbConnectionTask
at com.mercury.infra.flowmngr.model.JavaTask.execute(JavaTask.java:89)
at com.mercury.infra.flowmngr.model.Step.executeStep(Step.java:79)
at com.mercury.infra.flowmngr.FlowManager.run(FlowManager.java:206)
at com.mercury.infra.wizard.WizardController$FlowManagerRunner.doInBackground(WizardController.java:87)
at com.hp.acm.swing.executor.SwingJob$SwingJobWorker.doInBackground(SwingJob.java:319)
at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at javax.swing.SwingWorker.run(SwingWorker.java:334)
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)
Caused by: com.mercury.infra.db.exceptions.DBNotFoundException: Failed to connect to the database dbType=(SQL Server); hostName=BYDE276OAFD\I0907; dbName=BAC_MGMT; userName=BACDBAdmin; server=BYDE276OAFD\I0907; sid=; port=58689
at com.mercury.infra.db.operations.GenericDatabaseConnectorImpl.connectDatabase(GenericDatabaseConnectorImpl.java:26)
at com.mercury.infra.configserver.fm.tasks.CheckDbConnectionTask.execute(CheckDbConnectionTask.java:31)
at com.mercury.infra.flowmngr.model.JavaTask.execute(JavaTask.java:79)
... 10 more
Caused by: com.mercury.infra.utils.exceptions.MNoSuchElementException: Failed to create a Connection for: dbType=(SQL Server); hostName=BYDE276OAFD\I0907; dbName=BAC_MGMT; userName=BACDBAdmin; server=BYDE276OAFD\I0907; sid=; port=58689: [mercury][SQLServer JDBC Driver]SSL handshake failed: Remote host closed connection during handshake
at com.mercury.infra.utils.db.pools.ConnectionFactory.createConnection(ConnectionFactory.java:467)
at com.mercury.infra.utils.db.pools.ConnectionManager.getPrivateConnection(ConnectionManager.java:231)
at com.mercury.infra.db.operations.GenericDatabaseConnectorImpl.connectDatabase(GenericDatabaseConnectorImpl.java:21)
... 12 more
Caused by: com.mercury.jdbc.sqlserverbase.ddea: [mercury][SQLServer JDBC Driver]SSL handshake failed: Remote host closed connection during handshake
at com.mercury.jdbc.sqlserverbase.ddco.a(Unknown Source)
at com.mercury.jdbc.sqlserverbase.ddco.b(Unknown Source)
at com.mercury.jdbc.sqlserverbase.ddco.a(Unknown Source)
at com.mercury.jdbc.sqlserver.tds.ddc.<init>(Unknown Source)
at com.mercury.jdbc.sqlserver.SQLServerImplConnection.j(Unknown Source)
at com.mercury.jdbc.sqlserverbase.BaseConnection.b(Unknown Source)
at com.mercury.jdbc.sqlserverbase.BaseConnection.l(Unknown Source)
at com.mercury.jdbc.sqlserverbase.ddae.run(Unknown Source)
2022-11-10 15:39:25,917 [pool-2-thread-1] (NavigationRules.java:57) INFO - navigationValue = failure
2022-11-10 15:39:25,917 [pool-2-thread-1] (Step.java:106) INFO - *** Step connect_sql_bsm_mng_db was executed. Execution result : failure. Next step is: sql_connect_credentials
2022-11-10 15:39:25,917 [pool-2-thread-1] (FlowManager.java:229) INFO - last_wait_step: sql_connect_credentials
=====================================
Can anyone please help us identify the issue and find the solution
PS: The GW, DPS and DB servers are Windows 2019 Enterprise servers
First we tried this using MS SQL Server 2016 Enterprise Edition. However, on facing this error we replaced it with MS SQL Server 2014 Enterprise Edition.
Thanks & Regards,
Prasad