If you have an issue accessing the Dualshield Management/Administration Console following an upgrade of your software it could be because the database change log is locked.  You can verify this by  checking the das5/das6.log (the number corresponding to the version of DualShield you are using.) This file is located under C:\Program Files\Deepnet DualShield\tomcat\logs.




Edit the file and check if there is anything like "Could not acquire change log lock"/ "Waiting for changelog lock".   If you see any of these terms it means the database change log is locked.

For example

2022-01-14 12:46:27,908 [main] ERROR context.GrailsContextLoaderListener  - Error initializing Grails: Could not acquire change log lock.  Currently locked by iti01dss01 (10.151.11.4) since 1/14/22 10:14 AM

liquibase.exception.LockException: Could not acquire change log lock.  Currently locked by iti01dss01 (10.151.11.4) since 1/14/22 10:14 AM

                at liquibase.lockservice.LockService.waitForLock(LockService.java:81)

                at liquibase.Liquibase.update(Liquibase.java:102)

                at grails.plugin.databasemigration.MigrationRunner$_runMigrations_closure2.doCall(MigrationRunner.groovy:128)

                at grails.plugin.databasemigration.MigrationRunner.runMigrations(MigrationRunner.groovy:120)

                at grails.plugin.databasemigration.MigrationRunner$_autoRun_closure1.doCall(MigrationRunner.groovy:87)

                at grails.plugin.databasemigration.MigrationUtils.executeInSession(MigrationUtils.groovy:137)

                at grails.plugin.databasemigration.MigrationRunner.autoRun(MigrationRunner.groovy:58)

                at DatabaseMigrationGrailsPlugin$_closure2.doCall(DatabaseMigrationGrailsPlugin.groovy:97)

                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

                at java.util.concurrent.FutureTask.run(FutureTask.java:266)

                at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)

                at java.util.concurrent.FutureTask.run(FutureTask.java:266)

                at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)



In this situation you will need to access the Mysql database.

Open a command prompt.

Change directory to C:\Program Files\Deepnet DualShield\mysql\bin

Type the following command;

mysql -u root -p

Press return.

Enter the password to access the Mysql databases (This is not necessarily the same as the SA password used to access DualShield Console) and press return

When you have successfully logged in yu need to select the dualshield database

use dualshield;

You need to check the table called "databasechangeloglock".

select * from databasechangeloglock;

Below is a screenshot of how the result should look if things were working normally:

If there are other values, for example Locked has the value of 1 then please reset this all back by using the following command:

UPDATE databasechangeloglock SET LOCKED=0,LOCKGRANTED=NULL,LOCKEDBY=NULL WHERE ID=1;

Exit MySQL and attempt to restart DualShield Service again


  • No labels