we had Openfire 3.10.2.0 with a built-in database and everything was fine until the database grew to such a volume that 32 versions began to lack memory.
we have updated in several stages to 4.7.5, there are also plugins: Search 1.7.4 and Monitoring Service 2.5.0
and it looks like the database has not been converted correctly, because everything works fine on a clean database, but errors are pouring in on ours.
although the correspondence works fine, but when you launch the client the next day (miranda NG v0.96.3) almost all messages for the last day pop up at once, from everyone I talked to.
Tell me, can this be fixed without clearing the database or how to transfer messages to a clean database?
You can not refuse them, the messages for the last 8 years, we have deleted the rest.
2023.12.06 16:58:56 e[1;31mERRORe[m [main]: org.jivesoftware.openfire.XMPPServer - java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@a090bba9[file =C:\Openfire\embedded-db\openfire.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2023-12-06 13:58:55 heartbeat - read: -2916 ms.
java.lang.IllegalArgumentException: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@a090bba9[file =C:\Openfire\embedded-db\openfire.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2023-12-06 13:58:55 heartbeat - read: -2916 ms.
at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:1062) ~[xmppserver-4.7.5.jar:4.7.5]
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:706) [xmppserver-4.7.5.jar:4.7.5]
at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:255) [xmppserver-4.7.5.jar:4.7.5]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_202]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) [?:1.8.0_202]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [?:1.8.0_202]
at java.lang.reflect.Constructor.newInstance(Unknown Source) [?:1.8.0_202]
at java.lang.Class.newInstance(Unknown Source) [?:1.8.0_202]
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:92) [startup.jar:4.7.5]
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56) [startup.jar:4.7.5]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_202]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_202]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_202]
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84) [i4jruntime.jar:?]
at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94) [i4jruntime.jar:?]
at com.install4j.runtime.launcher.WinLauncher.main(WinLauncher.java:25) [i4jruntime.jar:?]
Caused by: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@a090bba9[file =C:\Openfire\embedded-db\openfire.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2023-12-06 13:58:55 heartbeat - read: -2916 ms.
at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:204) ~[xmppserver-4.7.5.jar:4.7.5]
at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:1052) ~[xmppserver-4.7.5.jar:4.7.5]
... 16 more
2023.12.06 17:03:25 e[33mWARN e[m [pool-monitoring5766]: org.jivesoftware.openfire.archive.ArchiveIndexer[MUCSEARCH] - Updating (not creating) an index since 'EPOCH'. This is suspicious, as it suggests that an existing, but empty index is being operated on. If the index is non-empty, index duplication might occur.
2023.12.06 17:06:08 e[33mWARN e[m [socket_c2s_ssl-thread-32]: org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x000002F2: nio socket, server, /10.0.1.141:59407 => 0.0.0.0/0.0.0.0:5223)
java.io.IOException: The remote host forcibly terminated an existing connection
at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[?:1.8.0_202]
at sun.nio.ch.SocketDispatcher.read(Unknown Source) ~[?:1.8.0_202]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) ~[?:1.8.0_202]
at sun.nio.ch.IOUtil.read(Unknown Source) ~[?:1.8.0_202]
at sun.nio.ch.SocketChannelImpl.read(Unknown Source) ~[?:1.8.0_202]
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:378) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:47) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:519) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$1200(AbstractPollingIoProcessor.java:68) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1222) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1211) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:683) ~[mina-core-2.1.3.jar:?]
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) ~[mina-core-2.1.3.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_202]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_202]
2023.12.06 17:08:25 e[33mWARN e[m [pool-monitoring5770]: org.jivesoftware.openfire.archive.ArchiveIndexer[MUCSEARCH] - Updating (not creating) an index since 'EPOCH'. This is suspicious, as it suggests that an existing, but empty index is being operated on. If the index is non-empty, index duplication might occur.
2023.12.06 17:13:25 e[33mWARN e[m [pool-monitoring5773]: org.jivesoftware.openfire.archive.ArchiveIndexer[MUCSEARCH] - Updating (not creating) an index since 'EPOCH'. This is suspicious, as it suggests that an existing, but empty index is being operated on. If the index is non-empty, index duplication might occur.
2023.12.06 17:15:40 e[33mWARN e[m [socket_c2s_ssl-thread-30]: org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x000002F4: nio socket, server, null => 0.0.0.0/0.0.0.0:5223)
javax.net.ssl.SSLException: Outbound done
at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:513) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:106) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.session.IoEvent.run(IoEvent.java:89) [mina-core-2.1.3.jar:?]
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:766) [mina-core-2.1.3.jar:?]
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:758) [mina-core-2.1.3.jar:?]
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:697) [mina-core-2.1.3.jar:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_202]