Explanation: Database lock acquisition failure error

Many users run into such error after they upgrade Openfire:

java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@f7cf94a6[file =C:\Program Files\Openfire\embedded-db\openfire.lck

What happens is that they use Openfire with its launcher (not with service as it is recommended). Which means that after they start their PC they manually run the yellow bulb program (or add it to system’s startup folder). Then they press Launch Admin in that window to access administration console, their clients can connect to the server.

But since Openfire 4.1.5 the service is automatically installed and launched (it won’t run only if a user removed the check on the last screen of setup). So after upgrading Openfire to a recent version the service is already running and using the database. If then administrator runs a yellow bulb program (the launcher) it creates a conflict between two processes trying to access the same database.

We recommend to stop using the launcher and use the service which is already installed and running. So, quit the launcher and then try to connect to the server in a client. You can access Admin Console just by going into a browser on the PC Openfire is installed and opening http://localhost:9090 or https://localhost:9091 address. No need to run a launcher and press the Launch Admin button.

If you really want to keep using the launcher, then go to Services (run > services.msc) and stop and disable the Openfire service. You will have to do this after every upgrade.

If after doing these things Openfire is still not working, you can stop everything and then go to C:\Program Files\Openfire\embedded-db\ and manually delete the openfire.lck file, if it is still there.

More information about the upgrade process https://discourse.igniterealtime.org/t/explanation-upgrading-openfire