diff --git a/data/QAData.mv.db b/data/QAData.mv.db index 0e0e11b..10e6cd0 100644 Binary files a/data/QAData.mv.db and b/data/QAData.mv.db differ diff --git a/data/QAData.trace.db b/data/QAData.trace.db index 1bd5f8d..333c983 100644 --- a/data/QAData.trace.db +++ b/data/QAData.trace.db @@ -1,112 +1,7 @@ -2023-06-06 12:33:37 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-06 12:34:31 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-06 12:34:36 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) +2023-08-29 12:10:57 jdbc[3]: exception +java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. + at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) + at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) @@ -124,16 +19,7 @@ org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-06 12:34:55 jdbc[3]: exception +2023-08-29 12:11:59 jdbc[4]: exception java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) @@ -154,7 +40,7 @@ java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supporte at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-06 12:35:31 jdbc[3]: exception +2023-08-29 12:13:18 jdbc[5]: exception java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) @@ -175,7 +61,7 @@ java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supporte at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-06 12:35:37 jdbc[4]: exception +2023-08-29 12:13:37 jdbc[6]: exception java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) @@ -196,8 +82,8 @@ java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supporte at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-06 13:36:47 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] +2023-08-29 13:16:03 database: flush +org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/Clones/qa-hub-be/data/QAData.mv.db [2.1.214/7]" [50000-214] at org.h2.message.DbException.get(DbException.java:212) at org.h2.message.DbException.convert(DbException.java:395) at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) @@ -282,33 +168,33 @@ org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:489) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:488) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:210) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:578) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:13) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) + at com.serge.nsn.qahub.QAHubApplicationKt.main(QAHubApplication.kt:16) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/Clones/qa-hub-be/data/QAData.mv.db [2.1.214/7]" [50000-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) ... 99 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] +Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/Clones/qa-hub-be/data/QAData.mv.db [2.1.214/7] at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) at org.h2.mvstore.FileStore.open(FileStore.java:178) at org.h2.mvstore.FileStore.open(FileStore.java:128) at org.h2.mvstore.MVStore.(MVStore.java:452) ... 93 more -2023-06-06 13:36:52 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] +2023-08-29 13:16:07 database: flush +org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/Clones/qa-hub-be/data/QAData.mv.db [2.1.214/7]" [50000-214] at org.h2.message.DbException.get(DbException.java:212) at org.h2.message.DbException.convert(DbException.java:395) at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) @@ -332,19 +218,19 @@ org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:152) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:34) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:284) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:177) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:36) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:239) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:216) - at org.hibernate.boot.model.relational.Database.(Database.java:45) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:229) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:197) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:166) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1380) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1451) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:255) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:230) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:207) + at org.hibernate.boot.model.relational.Database.(Database.java:44) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:218) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:138) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1348) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1419) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) @@ -358,31 +244,116 @@ org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) + at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:693) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:517) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1682) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:597) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1417) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:245) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1189) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1417) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:245) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1189) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:173) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:168) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAdaptableBeans(ServletContextInitializerBeans.java:153) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:261) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:235) + at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4882) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:488) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:210) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:578) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:13) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) + at com.serge.nsn.qahub.QAHubApplicationKt.main(QAHubApplication.kt:16) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/Clones/qa-hub-be/data/QAData.mv.db [2.1.214/7]" [50000-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 62 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] + ... 147 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/Clones/qa-hub-be/data/QAData.mv.db [2.1.214/7] at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) at org.h2.mvstore.FileStore.open(FileStore.java:178) at org.h2.mvstore.FileStore.open(FileStore.java:128) at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 56 more -2023-06-06 13:36:55 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] + ... 141 more +2023-08-29 13:16:09 database: flush +org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/Clones/qa-hub-be/data/QAData.mv.db [2.1.214/7]" [50000-214] at org.h2.message.DbException.get(DbException.java:212) at org.h2.message.DbException.convert(DbException.java:395) at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) @@ -406,25 +377,23 @@ org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:46) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:39) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:284) + at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:41) at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) - at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:43) - at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.(DatabaseInformationImpl.java:60) - at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:187) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:98) + at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcDatabaseMetaData(ImprovedExtractionContextImpl.java:70) + at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.processTableResultSet(InformationExtractorJdbcDatabaseMetaDataImpl.java:64) + at org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl.getTables(AbstractInformationExtractorImpl.java:564) + at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.getTablesInformation(DatabaseInformationImpl.java:122) + at org.hibernate.tool.schema.internal.GroupedSchemaMigratorImpl.performTablesMigration(GroupedSchemaMigratorImpl.java:71) + at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.performMigration(AbstractSchemaMigrator.java:225) + at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:126) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:284) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:143) at java.base/java.util.HashMap.forEach(HashMap.java:1429) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:140) - at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) - at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) - at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:291) - at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:431) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1455) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:336) + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:415) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1423) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) @@ -438,143 +407,115 @@ org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) + at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:693) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:517) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1682) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:597) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1417) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:245) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1189) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1417) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:245) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1189) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:173) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:168) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAdaptableBeans(ServletContextInitializerBeans.java:153) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:261) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:235) + at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4882) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:488) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:210) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:578) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:13) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) + at com.serge.nsn.qahub.QAHubApplicationKt.main(QAHubApplication.kt:16) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/Clones/qa-hub-be/data/QAData.mv.db [2.1.214/7]" [50000-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 68 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] + ... 151 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/Clones/qa-hub-be/data/QAData.mv.db [2.1.214/7] at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) at org.h2.mvstore.FileStore.open(FileStore.java:178) at org.h2.mvstore.FileStore.open(FileStore.java:128) at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 62 more -2023-06-06 15:00:42 jdbc[3]: exception -org.h2.jdbc.JdbcSQLNonTransientException: The object is already closed [90007-214] -2023-06-06 14:01:49 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-06 14:01:53 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-06 14:02:42 jdbc[3]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 04:08:59 jdbc[3]: exception + ... 145 more +2023-08-29 12:18:57 jdbc[3]: exception java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) @@ -595,7 +536,7 @@ java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supporte at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 04:09:14 jdbc[4]: exception +2023-08-29 12:22:21 jdbc[4]: exception java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) @@ -616,7 +557,7 @@ java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supporte at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 04:09:19 jdbc[5]: exception +2023-08-29 12:22:25 jdbc[5]: exception java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) @@ -637,2221 +578,3 @@ java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supporte at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 05:18:57 jdbc[3]: exception -org.h2.jdbc.JdbcSQLNonTransientException: The object is already closed [90007-214] -2023-06-08 05:20:00 jdbc[3]: exception -org.h2.jdbc.JdbcSQLNonTransientException: The object is already closed [90007-214] -2023-06-08 04:22:09 database: wrong user or password; user: "" -org.h2.message.DbException: Wrong user name or password [28000-210] - at org.h2.message.DbException.get(DbException.java:227) - at org.h2.message.DbException.get(DbException.java:203) - at org.h2.message.DbException.get(DbException.java:192) - at org.h2.engine.Engine.openSession(Engine.java:154) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:529) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 28 more -2023-06-08 04:22:36 jdbc[3]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 04:22:44 jdbc[3]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 04:23:05 jdbc[3]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 04:24:58 jdbc[4]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 04:24:58 jdbc[5]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 05:26:55 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) - at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) - at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) - at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) - at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) - at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) - at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:139) - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:647) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:261) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:235) - at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) - at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4882) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:489) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 99 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 93 more -2023-06-08 05:26:57 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:152) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:34) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:239) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:216) - at org.hibernate.boot.model.relational.Database.(Database.java:45) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:229) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:197) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:166) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1380) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1451) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 62 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 56 more -2023-06-08 05:26:59 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:46) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:39) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) - at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:43) - at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.(DatabaseInformationImpl.java:60) - at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:187) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:98) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:284) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:143) - at java.base/java.util.HashMap.forEach(HashMap.java:1429) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:140) - at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) - at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) - at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:291) - at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:431) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1455) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 68 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 62 more -2023-06-08 05:27:38 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) - at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) - at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) - at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) - at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) - at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) - at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:139) - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:647) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:261) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:235) - at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) - at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4882) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:489) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 99 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 93 more -2023-06-08 05:27:40 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:152) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:34) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:239) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:216) - at org.hibernate.boot.model.relational.Database.(Database.java:45) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:229) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:197) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:166) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1380) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1451) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 62 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 56 more -2023-06-08 05:27:43 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:46) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:39) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) - at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:43) - at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.(DatabaseInformationImpl.java:60) - at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:187) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:98) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:284) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:143) - at java.base/java.util.HashMap.forEach(HashMap.java:1429) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:140) - at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) - at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) - at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:291) - at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:431) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1455) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 68 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 62 more -2023-06-08 05:28:21 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) - at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) - at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) - at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) - at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) - at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) - at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:139) - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:647) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:261) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:235) - at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) - at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4882) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:489) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 99 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 93 more -2023-06-08 05:28:23 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:152) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:34) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:239) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:216) - at org.hibernate.boot.model.relational.Database.(Database.java:45) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:229) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:197) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:166) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1380) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1451) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 62 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 56 more -2023-06-08 05:28:25 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:46) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:39) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) - at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:43) - at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.(DatabaseInformationImpl.java:60) - at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:187) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:98) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:284) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:143) - at java.base/java.util.HashMap.forEach(HashMap.java:1429) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:140) - at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) - at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) - at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:291) - at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:431) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1455) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 68 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 62 more -2023-06-08 04:29:45 jdbc[6]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 04:30:06 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-08 04:30:14 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-08 04:30:57 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-08 04:30:59 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-08 04:31:05 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-08 04:31:20 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-08 04:31:27 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.message.DbException.convert(DbException.java:414) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:120) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3296) - at org.h2.mvstore.MVStore.panic(MVStore.java:585) - at org.h2.mvstore.MVStore.(MVStore.java:461) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) - at org.h2.mvstore.db.Store.(Store.java:129) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7]" [50000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 34 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.210/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:163) - at org.h2.mvstore.MVStore.(MVStore.java:444) - ... 28 more -2023-06-08 04:31:42 database: wrong user or password; user: "SA" -org.h2.message.DbException: Wrong user name or password [28000-210] - at org.h2.message.DbException.get(DbException.java:227) - at org.h2.message.DbException.get(DbException.java:203) - at org.h2.message.DbException.get(DbException.java:192) - at org.h2.engine.Engine.openSession(Engine.java:154) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639) - at com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:56) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:529) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 28 more -2023-06-08 04:31:52 jdbc[3]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 05:33:25 jdbc[3]: exception -org.h2.jdbc.JdbcSQLNonTransientException: The object is already closed [90007-214] -2023-06-08 04:36:31 jdbc[3]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 05:07:56 jdbc[4]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 05:07:57 jdbc[5]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 06:09:16 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) - at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) - at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) - at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) - at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) - at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) - at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:139) - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:647) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:261) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:235) - at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) - at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4882) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:489) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 99 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 93 more -2023-06-08 06:09:19 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:152) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:34) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:239) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:216) - at org.hibernate.boot.model.relational.Database.(Database.java:45) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:229) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:197) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:166) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1380) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1451) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 62 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 56 more -2023-06-08 06:09:21 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:46) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:39) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) - at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:43) - at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.(DatabaseInformationImpl.java:60) - at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:187) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:98) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:284) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:143) - at java.base/java.util.HashMap.forEach(HashMap.java:1429) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:140) - at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) - at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) - at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:291) - at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:431) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1455) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 68 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 62 more -2023-06-08 05:09:28 jdbc[6]: exception -java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. - at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) - at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:470) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) - at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) - at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) - at java.base/java.security.AccessController.doPrivileged(Native Method) - at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at java.base/java.lang.Thread.run(Thread.java:829) -2023-06-08 06:10:08 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) - at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) - at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) - at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) - at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) - at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) - at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:139) - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:647) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:261) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:235) - at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) - at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4882) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:489) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 99 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 93 more -2023-06-08 06:10:10 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:152) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:34) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:239) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:216) - at org.hibernate.boot.model.relational.Database.(Database.java:45) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:229) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:197) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:166) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1380) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1451) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 62 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 56 more -2023-06-08 06:10:13 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:46) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:39) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) - at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:43) - at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.(DatabaseInformationImpl.java:60) - at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:187) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:98) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:284) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:143) - at java.base/java.util.HashMap.forEach(HashMap.java:1429) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:140) - at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) - at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) - at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:291) - at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:431) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1455) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 68 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 62 more -2023-06-08 06:12:33 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) - at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) - at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) - at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) - at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) - at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) - at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) - at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) - at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) - at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:139) - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:647) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) - at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:261) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:235) - at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) - at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4882) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) - at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) - at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) - at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) - at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) - at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) - at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) - at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:489) - at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 99 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 93 more -2023-06-08 06:12:35 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:152) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:34) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:239) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:216) - at org.hibernate.boot.model.relational.Database.(Database.java:45) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:229) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:197) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:166) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1380) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1451) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 62 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 56 more -2023-06-08 06:12:37 database: flush -org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.get(DbException.java:212) - at org.h2.message.DbException.convert(DbException.java:395) - at org.h2.mvstore.db.Store.lambda$new$0(Store.java:125) - at org.h2.mvstore.MVStore.handleException(MVStore.java:3318) - at org.h2.mvstore.MVStore.panic(MVStore.java:593) - at org.h2.mvstore.MVStore.(MVStore.java:469) - at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082) - at org.h2.mvstore.db.Store.(Store.java:136) - at org.h2.engine.Database.(Database.java:324) - at org.h2.engine.Engine.openSession(Engine.java:92) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.Driver.connect(Driver.java:59) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:316) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:46) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:39) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) - at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:43) - at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.(DatabaseInformationImpl.java:60) - at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:187) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:98) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:284) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:143) - at java.base/java.util.HashMap.forEach(HashMap.java:1429) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:140) - at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) - at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) - at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:291) - at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:431) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1455) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) - at com.serge.nsn.qanda_hub.QandAHubApplicationKt.main(QandAHubApplication.kt:15) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) - at java.base/java.lang.reflect.Method.invoke(Method.java:578) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) -Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7]" [50000-214] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) - ... 68 more -Caused by: org.h2.mvstore.MVStoreException: The file is locked: /home/ntunyu/Repositories/QandA-Hub/data/QAData.mv.db [2.1.214/7] - at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) - at org.h2.mvstore.FileStore.open(FileStore.java:178) - at org.h2.mvstore.FileStore.open(FileStore.java:128) - at org.h2.mvstore.MVStore.(MVStore.java:452) - ... 62 more -2023-06-08 06:13:34 jdbc[3]: exception -org.h2.jdbc.JdbcSQLNonTransientException: The object is already closed [90007-214] -2023-06-08 06:15:49 jdbc[3]: exception -org.h2.jdbc.JdbcSQLNonTransientException: The object is already closed [90007-214] -2023-06-08 06:17:56 jdbc[3]: exception -org.h2.jdbc.JdbcSQLNonTransientException: The object is already closed [90007-214] -2023-06-08 06:20:59 jdbc[3]: exception -org.h2.jdbc.JdbcSQLNonTransientException: The object is already closed [90007-214] diff --git a/pom.xml b/pom.xml index 5510bb8..1c1b300 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 3.1.0 + 3.0.6 com.serge.nsn @@ -80,8 +80,19 @@ io.jsonwebtoken - jjwt - 0.9.1 + jjwt-api + 0.11.5 + + + io.jsonwebtoken + jjwt-impl + 0.11.5 + + + io.jsonwebtoken + jjwt-jackson + 0.11.5 + runtime diff --git a/src/main/kotlin/com/serge/nsn/qahub/QAHubApplication.kt b/src/main/kotlin/com/serge/nsn/qahub/QAHubApplication.kt new file mode 100644 index 0000000..098c327 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/QAHubApplication.kt @@ -0,0 +1,15 @@ +package com.serge.nsn.qahub + +import org.springframework.boot.autoconfigure.SpringBootApplication +import org.springframework.boot.runApplication + +@SpringBootApplication + +class QAHubApplication + +fun main(args: Array) { + runApplication(*args) +} + +//typealias Id = UUID +//val id = Id() \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/api/controller/AuthenticationController.kt b/src/main/kotlin/com/serge/nsn/qahub/api/controller/AuthenticationController.kt new file mode 100644 index 0000000..6322b8b --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/api/controller/AuthenticationController.kt @@ -0,0 +1,51 @@ +package com.serge.nsn.qahub.api.controller + +import com.serge.nsn.qahub.api.dto.UserDto +import com.serge.nsn.qahub.api.model.LoginRequest +import com.serge.nsn.qahub.api.model.LoginResponse +import com.serge.nsn.qahub.configuration.jwt.JWTService +import com.serge.nsn.qahub.services.UserService +import lombok.RequiredArgsConstructor +import org.springframework.http.HttpStatus +import org.springframework.http.ResponseEntity +import org.springframework.security.authentication.AuthenticationManager +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken +import org.springframework.security.core.userdetails.UsernameNotFoundException +import org.springframework.web.bind.annotation.PostMapping +import org.springframework.web.bind.annotation.RequestBody +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController + +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/auth") +class jAuthenticationController( + private val jwtService: JWTService, + private val authenticationManager: AuthenticationManager, + private val userService: UserService +) { + + @PostMapping("/register") + fun registerUser(@RequestBody dto: UserDto): ResponseEntity = + ResponseEntity(userService.register_user(dto), HttpStatus.CREATED) + + @PostMapping("/login") + fun login(@RequestBody request: LoginRequest): LoginResponse { + val authentication = authenticationManager + .authenticate(UsernamePasswordAuthenticationToken(request.username, request.password)) + return if (authentication.isAuthenticated) { + LoginResponse(accessToken = jwtService.generateToken(request.username)) + } else { + throw UsernameNotFoundException("Invalid user credentials") + } + } + + @RequestMapping("/batch-registration") + + + @PostMapping + fun createUsers(@RequestBody newUsers: List): ResponseEntity> { + return ResponseEntity(userService.batchRegister(newUsers), HttpStatus.CREATED) + + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/api/controller/PostController.kt b/src/main/kotlin/com/serge/nsn/qahub/api/controller/PostController.kt new file mode 100644 index 0000000..181989a --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/api/controller/PostController.kt @@ -0,0 +1,77 @@ +package com.serge.nsn.qahub.api.controller + +import com.serge.nsn.qahub.api.dto.PostDto +import com.serge.nsn.qahub.data.entities.PostType +import com.serge.nsn.qahub.services.PostService +import org.springframework.web.bind.annotation.* +import java.security.Principal + +@RestController +@RequestMapping("/api/post") +class PostController( + private val postService: PostService, +) { + + @GetMapping("/all") + fun getAll() = postService.getAllPosts() + + //Delete post + @DeleteMapping("/{postId}/delete") + fun deletePost(@PathVariable postId: Long) = postService.deletePost(postId) + + + //Post Question + @CrossOrigin(origins = ["http://localhost:4200/"]) + @PostMapping("/ask") + fun ask(@RequestBody question: PostDto, principal: Principal) = postService.askQuestion(question, principal) + + //Get Question by Id + @GetMapping("/question/{qId}") + fun ask(@PathVariable qId: Long) = postService.getQuestionByID(qId) + + //Get all questions + @GetMapping("/questions") + fun ask() = postService.getAllQuestions() + + //Get Questions asked by user + @GetMapping("/questions/{uId}") + fun userQuestions(@PathVariable uId: Long) = postService.getPostByTypeAndUserId(PostType.QUESTION, uId) + + + //Get posts by user + @GetMapping("/posts/{uId}") + fun questionsByUser(@PathVariable uId: Long) = postService.allPostsByUserId(uId) + + + //Answer Question + @PostMapping("/{qId}/answer") + fun answer(@RequestBody answer: PostDto, @PathVariable qId: Long, principal: Principal) = + postService.answerQuestion(answer, principal, qId) + + + //All Answers to question + @GetMapping("/{qId}/answers") + fun answers(@PathVariable qId: Long) = postService.getAnswersByQuestionId(PostType.ANSWER, qId) + + + @PostMapping("/{postId}/comment") + fun reply( + @RequestBody comment: PostDto, + @PathVariable postId: Long, + principal: Principal + ) = + postService.comment(comment, postId, principal) + + + //All comments under post + @GetMapping("/{postId}/comments") + fun comments(@PathVariable postId: Long) = postService.getAllComments(postId) + + //upvote + @PostMapping("/{postId}/upvote") + fun upvote(@PathVariable postId: Long, principal: Principal) = postService.upVote(postId, principal) + + //downvote + @PostMapping("/{postId}/downvote") + fun downvote(@PathVariable postId: Long, principal: Principal) = postService.downVote(postId, principal) +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/api/controller/SubscriptionController.kt b/src/main/kotlin/com/serge/nsn/qahub/api/controller/SubscriptionController.kt new file mode 100644 index 0000000..85163d5 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/api/controller/SubscriptionController.kt @@ -0,0 +1,20 @@ +package com.serge.nsn.qahub.api.controller + +import com.serge.nsn.qahub.api.dto.SubscriptionDto +import com.serge.nsn.qahub.services.SubscriptionService +import org.springframework.web.bind.annotation.PostMapping +import org.springframework.web.bind.annotation.RequestBody +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController +import java.security.Principal + +@RestController +@RequestMapping("/api/subscribe") +class SubscriptionController( + private val subscriptionService: SubscriptionService +) { + @PostMapping("/new") + fun subscribeUser(@RequestBody subscriptionDto: SubscriptionDto, principal: Principal): SubscriptionDto { + return subscriptionService.subscribeUser(subscriptionDto, principal) + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/api/controller/UserController.kt b/src/main/kotlin/com/serge/nsn/qahub/api/controller/UserController.kt new file mode 100644 index 0000000..c211aa5 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/api/controller/UserController.kt @@ -0,0 +1,27 @@ +package com.serge.nsn.qahub.api.controller + +import com.serge.nsn.qahub.api.dto.UserDto +import com.serge.nsn.qahub.services.UserService +import org.springframework.web.bind.annotation.* +import java.security.Principal + +@RestController +@CrossOrigin +@RequestMapping("/api/user") +class UserController( + private val userService: UserService, +) { + + @GetMapping("/all") + fun getUsers(): List = userService.getAll() + + @GetMapping("/{userId}") + fun getUser(@PathVariable userId: Long) = userService.getById(userId) + + @GetMapping("/user") + fun getCurrentUser(principal: Principal): String { + val username = principal.name + return "Current user: $username" + } + +} diff --git a/src/main/kotlin/com/serge/nsn/qahub/api/dto/PostDto.kt b/src/main/kotlin/com/serge/nsn/qahub/api/dto/PostDto.kt new file mode 100644 index 0000000..a9cfbfa --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/api/dto/PostDto.kt @@ -0,0 +1,23 @@ +package com.serge.nsn.qahub.api.dto + +import com.serge.nsn.qahub.data.entities.PostEntity + +class PostDto( + val id: Long? = null, + val title: String? = "", + val content: String = "", + val author: String = "", + val tag: String? + + +) { + constructor(postEntity: PostEntity) : this( + id = postEntity.id, + title = postEntity.title, + content = postEntity.content, + author = postEntity.user.name, + tag = postEntity.tag, + + + ) +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/api/dto/SubscriptionDto.kt b/src/main/kotlin/com/serge/nsn/qahub/api/dto/SubscriptionDto.kt new file mode 100644 index 0000000..fa6490d --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/api/dto/SubscriptionDto.kt @@ -0,0 +1,20 @@ +package com.serge.nsn.qahub.api.dto + +import com.serge.nsn.qahub.data.entities.Subscription +import java.time.LocalDate + +class SubscriptionDto( + val id: Long = 0, + val user: String?, + val plan: String, + val startDate: LocalDate?, + val endDate: LocalDate? +) { + constructor(subscription: Subscription) : this( + id = subscription.id, + user = subscription.user.username, + plan = subscription.plan.name, + startDate = subscription.startDate, + endDate = subscription.endDate + ) +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/api/dto/UserDto.kt b/src/main/kotlin/com/serge/nsn/qahub/api/dto/UserDto.kt new file mode 100644 index 0000000..20cc65e --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/api/dto/UserDto.kt @@ -0,0 +1,22 @@ +package com.serge.nsn.qahub.api.dto + +import com.serge.nsn.qahub.data.entities.UserEntity + +class UserDto( + val user_id: Long? = null, + val name: String = "", + val username: String = "", + val password: String = "", + val email: String = "", + val role: String = "", + + ) { + constructor(userEntity: UserEntity) : this( + user_id = userEntity.id, + name = userEntity.name, + username = userEntity.username, + email = userEntity.email, + role = userEntity.roles, +// questions = userEntity.questions.map { QuestionDto(it) } + ) +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/api/model/LoginRequest.kt b/src/main/kotlin/com/serge/nsn/qahub/api/model/LoginRequest.kt new file mode 100644 index 0000000..6152ef2 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/api/model/LoginRequest.kt @@ -0,0 +1,6 @@ +package com.serge.nsn.qahub.api.model + +class LoginRequest( + val username: String, + val password: String +) \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/api/model/LoginResponse.kt b/src/main/kotlin/com/serge/nsn/qahub/api/model/LoginResponse.kt new file mode 100644 index 0000000..9688c0f --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/api/model/LoginResponse.kt @@ -0,0 +1,3 @@ +package com.serge.nsn.qahub.api.model + +data class LoginResponse(val accessToken: String) \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/configuration/QAUserDetails.kt b/src/main/kotlin/com/serge/nsn/qahub/configuration/QAUserDetails.kt new file mode 100644 index 0000000..fd417f5 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/configuration/QAUserDetails.kt @@ -0,0 +1,56 @@ +package com.serge.nsn.qahub.configuration + +import com.serge.nsn.qahub.data.entities.UserEntity +import lombok.Data +import org.springframework.security.core.GrantedAuthority +import org.springframework.security.core.authority.SimpleGrantedAuthority +import org.springframework.security.core.userdetails.UserDetails +import java.util.* +import java.util.stream.Collectors + + +@Data +class QAUserDetails(user: UserEntity) : UserDetails { + private val userName: String + private val password: String + private val authorities: List + + init { + userName = user.email + password = user.password + authorities = Arrays.stream( + user.roles + .split(",".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() + ) + .map { role: String? -> SimpleGrantedAuthority(role) } + .collect(Collectors.toList()) + } + + override fun getAuthorities(): Collection { + return authorities + } + + override fun getPassword(): String { + return password + } + + override fun getUsername(): String { + return userName + } + + override fun isAccountNonExpired(): Boolean { + return true + } + + override fun isAccountNonLocked(): Boolean { + return true + } + + override fun isCredentialsNonExpired(): Boolean { + return true + } + + override fun isEnabled(): Boolean { + return true + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/configuration/QAUserDetailsService.kt b/src/main/kotlin/com/serge/nsn/qahub/configuration/QAUserDetailsService.kt new file mode 100644 index 0000000..5672461 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/configuration/QAUserDetailsService.kt @@ -0,0 +1,22 @@ +package com.serge.nsn.qahub.configuration + +import com.serge.nsn.qahub.data.repositories.UserRepository +import lombok.RequiredArgsConstructor +import org.springframework.security.core.userdetails.UserDetails +import org.springframework.security.core.userdetails.UserDetailsService +import org.springframework.security.core.userdetails.UsernameNotFoundException +import org.springframework.stereotype.Service + +@Service +@RequiredArgsConstructor +class QAUserDetailsService( + private val userRepository: UserRepository, +) : UserDetailsService { + + @Throws(UsernameNotFoundException::class) + override fun loadUserByUsername(username: String): UserDetails { + return userRepository.findByUsername(username) + .map { user -> QAUserDetails(user) } + .orElseThrow { UsernameNotFoundException("No user found") } + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/configuration/SecurityConfig.kt b/src/main/kotlin/com/serge/nsn/qahub/configuration/SecurityConfig.kt new file mode 100644 index 0000000..cfb9691 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/configuration/SecurityConfig.kt @@ -0,0 +1,97 @@ +package com.serge.nsn.qahub.configuration + +import com.serge.nsn.qahub.configuration.jwt.JWTAuthenticationFilter +import com.serge.nsn.qahub.configuration.jwt.JwtAuthenticationEntryPoint +import lombok.RequiredArgsConstructor +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration +import org.springframework.security.authentication.AuthenticationManager +import org.springframework.security.authentication.AuthenticationProvider +import org.springframework.security.authentication.dao.DaoAuthenticationProvider +import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration +import org.springframework.security.config.annotation.web.builders.HttpSecurity +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity +import org.springframework.security.config.annotation.web.configurers.ExceptionHandlingConfigurer +import org.springframework.security.config.http.SessionCreationPolicy +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder +import org.springframework.security.crypto.password.PasswordEncoder +import org.springframework.security.web.SecurityFilterChain +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter +import org.springframework.security.web.authentication.www.BasicAuthenticationFilter +import org.springframework.web.cors.CorsConfiguration +import org.springframework.web.cors.CorsConfigurationSource +import org.springframework.web.cors.UrlBasedCorsConfigurationSource +import org.springframework.web.filter.CorsFilter + +@Configuration +@EnableWebSecurity +@RequiredArgsConstructor +class SecurityConfig( + private val authenticationFilter: JWTAuthenticationFilter, + private val userDetailsService: QAUserDetailsService, + private val jwtAuthenticationEntryPoint: JwtAuthenticationEntryPoint, +) { + companion object { + val UN_SECURED_URL = arrayOf("/api/auth/**", "/api/auth/login") + } + + @Bean + fun passwordEncoder(): PasswordEncoder { + return BCryptPasswordEncoder() + } + + @Bean + fun authenticationProvider(): AuthenticationProvider { + val authenticationProvider = DaoAuthenticationProvider() + authenticationProvider.setUserDetailsService(userDetailsService) + authenticationProvider.setPasswordEncoder(passwordEncoder()) + return authenticationProvider + } + + @Bean + @Throws(Exception::class) + fun securityFilterChain(http: HttpSecurity): SecurityFilterChain { + return http.httpBasic().and().csrf().disable().userDetailsService(userDetailsService) + .cors { cors -> cors.configurationSource(corsConfigSource()) } + .authorizeHttpRequests { auth -> + auth.requestMatchers(*UN_SECURED_URL).permitAll() + .anyRequest().fullyAuthenticated() + }.sessionManagement() + .sessionCreationPolicy(SessionCreationPolicy.STATELESS) + .and() + .authenticationProvider(authenticationProvider()) + .exceptionHandling { e: ExceptionHandlingConfigurer -> + e.authenticationEntryPoint( + jwtAuthenticationEntryPoint + ) + } + .addFilterBefore(authenticationFilter, BasicAuthenticationFilter::class.java) + .addFilterBefore(authenticationFilter, UsernamePasswordAuthenticationFilter::class.java) + .build() + } + + @Bean + @Throws(Exception::class) + fun authenticationManager(authConfig: AuthenticationConfiguration): AuthenticationManager { + return authConfig.authenticationManager + } + + fun corsConfigSource(): CorsConfigurationSource { + val config = CorsConfiguration() + config.addAllowedOrigin("http://192.168.2.99:4200") + config.addAllowedOrigin("http://localhost:4200") + config.addAllowedMethod("POST") + config.addAllowedMethod("GET") + config.allowedMethods = listOf("POST", "GET", "DELETE") + config.addAllowedHeader("*") + val source = UrlBasedCorsConfigurationSource() + source.registerCorsConfiguration("/**", config) + return source + } + + @Bean + fun corsConfig(): CorsFilter { + return CorsFilter(corsConfigSource()) + } + +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/configuration/exceptions/UserNotFoundException.kt b/src/main/kotlin/com/serge/nsn/qahub/configuration/exceptions/UserNotFoundException.kt new file mode 100644 index 0000000..9e695ed --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/configuration/exceptions/UserNotFoundException.kt @@ -0,0 +1,3 @@ +package com.serge.nsn.qahub.configuration.exceptions + +class UserNotFoundException(message: String?) : RuntimeException(message) \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/configuration/jwt/JWTAuthenticationFilter.kt b/src/main/kotlin/com/serge/nsn/qahub/configuration/jwt/JWTAuthenticationFilter.kt new file mode 100644 index 0000000..e281acf --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/configuration/jwt/JWTAuthenticationFilter.kt @@ -0,0 +1,48 @@ +package com.serge.nsn.qahub.configuration.jwt + +import com.serge.nsn.qahub.configuration.QAUserDetailsService +import jakarta.servlet.FilterChain +import jakarta.servlet.ServletException +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse +import lombok.RequiredArgsConstructor +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken +import org.springframework.security.core.context.SecurityContextHolder +import org.springframework.security.web.authentication.WebAuthenticationDetailsSource +import org.springframework.stereotype.Component +import org.springframework.web.filter.OncePerRequestFilter +import java.io.IOException + +@Component +@RequiredArgsConstructor +class JWTAuthenticationFilter( + private val jwtService: JWTService, + private val QAUserDetailsService: QAUserDetailsService, +) : OncePerRequestFilter() { + + @Throws(ServletException::class, IOException::class) + override fun doFilterInternal( + request: HttpServletRequest, response: HttpServletResponse, + filterChain: FilterChain + ) { + val bearerToken = request.getHeader("Authorization") + val userName: String + + if (bearerToken == null || !bearerToken.startsWith("Bearer ")) { + filterChain.doFilter(request, response) + return + } + val token = bearerToken.substring(7) + userName = jwtService.extractUsernameFromToken(token) + + if (SecurityContextHolder.getContext().authentication == null) { + val userDetails = QAUserDetailsService.loadUserByUsername(userName) + if (jwtService.validateToken(token)) { + val authToken = UsernamePasswordAuthenticationToken(userDetails, null, userDetails.authorities) + authToken.details = WebAuthenticationDetailsSource().buildDetails(request) + SecurityContextHolder.getContext().authentication = authToken + } + } + filterChain.doFilter(request, response) + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/configuration/jwt/JWTService.kt b/src/main/kotlin/com/serge/nsn/qahub/configuration/jwt/JWTService.kt new file mode 100644 index 0000000..384551f --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/configuration/jwt/JWTService.kt @@ -0,0 +1,77 @@ +package com.serge.nsn.qahub.configuration.jwt + +import io.jsonwebtoken.Claims +import io.jsonwebtoken.Jwts +import io.jsonwebtoken.SignatureAlgorithm +import io.jsonwebtoken.io.Decoders +import io.jsonwebtoken.security.Keys +import lombok.AllArgsConstructor +import lombok.NoArgsConstructor +import org.springframework.beans.factory.annotation.Value +import org.springframework.stereotype.Service +import java.security.Key +import java.util.* +import java.util.function.Function + + +@Service +@AllArgsConstructor +@NoArgsConstructor +class JWTService { + @Value("\${spring.jwt.secret}") + private lateinit var jwtSecret: String + + @Value("\${spring.jwt.expiration}") + private val jwtExpiration: Long = 1 + + fun generateToken(userName: String?): String { + val claims: Map = HashMap() + return tokenCreator(claims, userName) + } + + fun tokenCreator(claims: Map?, userName: String?): String { + return Jwts.builder() + .setClaims(claims) + .setSubject(userName) + .setIssuedAt(Date(System.currentTimeMillis())) + .setExpiration(Date(System.currentTimeMillis() + jwtExpiration)) + .signWith(signedKey, SignatureAlgorithm.HS256).compact() + } + + fun extractUsernameFromToken(theToken: String?): String { + return extractClaim(theToken) { obj: Claims -> obj.subject } + } + + fun extractExpirationTimeFromToken(theToken: String?): Date { + return extractClaim(theToken) { obj: Claims -> obj.expiration } + } + + fun extractUsername(token: String?): String { + return extractAllClaims(token).subject + } + + fun validateToken(token: String): Boolean = !isTokenExpired(token) + + private fun extractClaim(token: String?, claimsResolver: Function): T { + val claims = extractAllClaims(token) + return claimsResolver.apply(claims) + } + + private fun extractAllClaims(token: String?): Claims { + return Jwts.parserBuilder() + .setSigningKey(signedKey) + .build() + .parseClaimsJws(token) + .body + } + + private fun isTokenExpired(theToken: String?): Boolean { + return extractExpirationTimeFromToken(theToken).before(Date()) + } + + private val signedKey: Key + get() { + val keyByte = Decoders.BASE64.decode(jwtSecret) + return Keys.hmacShaKeyFor(keyByte) + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/configuration/jwt/JwtAuthenticationEntryPoint.kt b/src/main/kotlin/com/serge/nsn/qahub/configuration/jwt/JwtAuthenticationEntryPoint.kt new file mode 100644 index 0000000..98f8726 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/configuration/jwt/JwtAuthenticationEntryPoint.kt @@ -0,0 +1,37 @@ +package com.serge.nsn.qahub.configuration.jwt + +import com.fasterxml.jackson.databind.ObjectMapper +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse +import org.slf4j.LoggerFactory +import org.springframework.http.MediaType +import org.springframework.security.core.AuthenticationException +import org.springframework.security.web.AuthenticationEntryPoint +import org.springframework.stereotype.Component + +@Component +class JwtAuthenticationEntryPoint : AuthenticationEntryPoint { + private val logger = LoggerFactory.getLogger(javaClass) + + override fun commence( + request: HttpServletRequest?, + response: HttpServletResponse?, + authException: AuthenticationException? + ) { + logger.error(authException?.message) + response?.let { + it.contentType = MediaType.APPLICATION_JSON_VALUE + it.status = HttpServletResponse.SC_UNAUTHORIZED + val body = mutableMapOf( + "status" to HttpServletResponse.SC_UNAUTHORIZED, + "error" to "Unauthorized", + "message" to (authException?.message ?: ""), + "path" to (request?.servletPath ?: "") + ) + ObjectMapper().writeValue( + it.outputStream, body + ) + } + } + +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/entities/PostEntity.kt b/src/main/kotlin/com/serge/nsn/qahub/data/entities/PostEntity.kt new file mode 100644 index 0000000..e1cb58d --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/entities/PostEntity.kt @@ -0,0 +1,36 @@ +//import com.serge.nsn.qahub.data.entities.PostType +//import jakarta.persistence.* + +package com.serge.nsn.qahub.data.entities + +import jakarta.persistence.* + +@Entity +data class PostEntity( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + val id: Long?, + val title: String? = "", + val content: String = "", + val tag: String? = "", + + + @Enumerated(EnumType.STRING) + val type: PostType, + + + @ManyToOne(fetch = FetchType.EAGER) + @JoinColumn(name = "post") + val post: PostEntity?, + + @ManyToOne + @JoinColumn(name = "user_id") + val user: UserEntity, + + @OneToMany(mappedBy = "post") + val answers: List = listOf(), + + @OneToMany(mappedBy = "id") + val comments: List = listOf() + +) \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/entities/PostType.kt b/src/main/kotlin/com/serge/nsn/qahub/data/entities/PostType.kt new file mode 100644 index 0000000..b5a0c02 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/entities/PostType.kt @@ -0,0 +1,7 @@ +package com.serge.nsn.qahub.data.entities + +enum class PostType { + QUESTION, + ANSWER, + COMMENT +} diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/entities/Subscription.kt b/src/main/kotlin/com/serge/nsn/qahub/data/entities/Subscription.kt new file mode 100644 index 0000000..3d5420a --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/entities/Subscription.kt @@ -0,0 +1,17 @@ +package com.serge.nsn.qahub.data.entities + +import jakarta.persistence.* +import java.time.LocalDate + +@Entity +data class Subscription( + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + val id: Long = 0, + @ManyToOne + val user: UserEntity, + @Enumerated(EnumType.STRING) + val plan: SubscriptionType, + val startDate: LocalDate, + val endDate: LocalDate +) \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/entities/SubscriptionType.kt b/src/main/kotlin/com/serge/nsn/qahub/data/entities/SubscriptionType.kt new file mode 100644 index 0000000..9101bc6 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/entities/SubscriptionType.kt @@ -0,0 +1,7 @@ +package com.serge.nsn.qahub.data.entities + +enum class SubscriptionType(val plan: String, val durationInMonths: Long, val price: Double) { + FREE_TRIAL("Free Trial", 1, 0.0), + ONE_MONTH("1 Month Plan", 1, 800.00), + ONE_YEAR("1 Year Plan", 12, 10000.00) +} diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/entities/UserEntity.kt b/src/main/kotlin/com/serge/nsn/qahub/data/entities/UserEntity.kt new file mode 100644 index 0000000..634d829 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/entities/UserEntity.kt @@ -0,0 +1,25 @@ +package com.serge.nsn.qahub.data.entities + +import jakarta.persistence.* + + +@Entity + +data class UserEntity( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + val id: Long? = null, + val name: String = "", + val username: String = "", + val password: String = "", + @Column(unique = true) + val email: String = "", + val roles: String = "", + + @OneToMany(mappedBy = "user") + val posts: List = mutableListOf(), + + @OneToMany(mappedBy = "user") + val comments: List = mutableListOf() +) + diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/entities/VoteEntity.kt b/src/main/kotlin/com/serge/nsn/qahub/data/entities/VoteEntity.kt new file mode 100644 index 0000000..cc6c650 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/entities/VoteEntity.kt @@ -0,0 +1,22 @@ +package com.serge.nsn.qahub.data.entities + +import jakarta.persistence.* + +@Entity +data class VoteEntity( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + val id: Long? = null, + + @Enumerated(EnumType.STRING) + @Column(nullable = false) + val type: VoteType, + + @ManyToOne(fetch = FetchType.EAGER) + @JoinColumn(name = "post_id") + val post: PostEntity, + + @ManyToOne + @JoinColumn(name = "user_id") + val user: UserEntity +) \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/entities/VoteType.kt b/src/main/kotlin/com/serge/nsn/qahub/data/entities/VoteType.kt new file mode 100644 index 0000000..a81eceb --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/entities/VoteType.kt @@ -0,0 +1,6 @@ +package com.serge.nsn.qahub.data.entities + +enum class VoteType { + UP, DOWN + +} diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/repositories/PostRepository.kt b/src/main/kotlin/com/serge/nsn/qahub/data/repositories/PostRepository.kt new file mode 100644 index 0000000..36873f0 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/repositories/PostRepository.kt @@ -0,0 +1,16 @@ +package com.serge.nsn.qahub.data.repositories + +import com.serge.nsn.qahub.data.entities.PostEntity +import com.serge.nsn.qahub.data.entities.PostType +import org.springframework.data.jpa.repository.JpaRepository + +interface PostRepository : JpaRepository { + + + fun findAllByUserId(userId: Long): List + fun findAllByType(type: PostType): List + fun findAllByTypeAndUserId(type: PostType, uId: Long): List + fun findAllByTypeAndPost(type: PostType, post: PostEntity): List + fun findAllCommentsByTypeAndPost(type: PostType, post: PostEntity): List +// fun deleteByTypeandPostId(comment: PostType, postId: Long) +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/repositories/SubscriptionRepository.kt b/src/main/kotlin/com/serge/nsn/qahub/data/repositories/SubscriptionRepository.kt new file mode 100644 index 0000000..36df4a8 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/repositories/SubscriptionRepository.kt @@ -0,0 +1,7 @@ +package com.serge.nsn.qahub.data.repositories + +import com.serge.nsn.qahub.data.entities.Subscription +import org.springframework.data.jpa.repository.JpaRepository + +interface SubscriptionRepository : JpaRepository { +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/repositories/UserRepository.kt b/src/main/kotlin/com/serge/nsn/qahub/data/repositories/UserRepository.kt new file mode 100644 index 0000000..70b9e1b --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/repositories/UserRepository.kt @@ -0,0 +1,14 @@ +package com.serge.nsn.qahub.data.repositories + +import com.serge.nsn.qahub.data.entities.UserEntity +import org.springframework.data.jpa.repository.JpaRepository +import org.springframework.stereotype.Repository +import java.util.* + +@Repository +interface UserRepository : JpaRepository { + fun findByUsername(username: String): Optional + fun findByEmail(email: String): Optional + + +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/data/repositories/VoteRepository.kt b/src/main/kotlin/com/serge/nsn/qahub/data/repositories/VoteRepository.kt new file mode 100644 index 0000000..df9aeb2 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/data/repositories/VoteRepository.kt @@ -0,0 +1,8 @@ +package com.serge.nsn.qahub.data.repositories + +import com.serge.nsn.qahub.data.entities.VoteEntity +import org.springframework.data.jpa.repository.JpaRepository + +interface VoteRepository : JpaRepository { + fun findByPostIdAndUserId(postId: Long, id: Long?): VoteEntity? +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/services/PostService.kt b/src/main/kotlin/com/serge/nsn/qahub/services/PostService.kt new file mode 100644 index 0000000..9ed6f91 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/services/PostService.kt @@ -0,0 +1,204 @@ +package com.serge.nsn.qahub.services + +import com.serge.nsn.qahub.api.dto.PostDto +import com.serge.nsn.qahub.data.entities.* +import com.serge.nsn.qahub.data.repositories.PostRepository +import com.serge.nsn.qahub.data.repositories.UserRepository +import com.serge.nsn.qahub.data.repositories.VoteRepository +import org.springframework.http.HttpStatus +import org.springframework.http.ResponseEntity +import org.springframework.stereotype.Service +import org.springframework.web.bind.annotation.GetMapping +import java.security.Principal + +@Service +class PostService( + private val postRepository: PostRepository, + private val userRepository: UserRepository, + private val voteRepository: VoteRepository +) { + + @GetMapping("/all") + fun getAllPosts(): List { + return postRepository.findAll().map { post -> PostDto(post) } + } + + fun askQuestion(dto: PostDto, principal: Principal): ResponseEntity { + val questionAuthor: UserEntity = userRepository.findByEmail(principal.name).get() + val askedQuestion = postRepository + .save( + PostEntity( + id = dto.id, + title = dto.title, + content = dto.content, + tag = dto.tag, + user = questionAuthor, + type = PostType.QUESTION, + post = null + ) + + ) + + return ResponseEntity(PostDto(askedQuestion), HttpStatus.CREATED) + } + + fun answerQuestion(dto: PostDto, principal: Principal, qID: Long): ResponseEntity { + val answerAuthor: UserEntity = userRepository.findByEmail(principal.name).get() + val askedQuestion = postRepository + .save( + PostEntity( + id = dto.id, + content = dto.content, + user = answerAuthor, + type = PostType.ANSWER, +// tag="", + post = postRepository.findById(qID).get() +// questionId = questionRepository.findById(qID).get() + ) + + ) + + return ResponseEntity(PostDto(askedQuestion), HttpStatus.CREATED) + } + + fun comment(dto: PostDto, postId: Long, principal: Principal): ResponseEntity { + val commentAuthor: UserEntity = userRepository.findByEmail(principal.name).get() + val commentResponse = postRepository.save( + PostEntity( + id = dto.id, + content = dto.content, + user = commentAuthor, + type = PostType.COMMENT, +// tag="", + + post = postRepository.findById(postId).get(), +// questionId = questionRepository.findById(qID).get() + ) + ) + + return ResponseEntity(PostDto(commentResponse), HttpStatus.CREATED) + } + + fun getQuestionByID(qId: Long): PostDto { + val post = postRepository.findById(qId) + if (post.isEmpty) { + throw PostNotFoundException("The post you are requesting for does not longer exist") + } else if (post.get().type != PostType.QUESTION) { + throw InvalidPostTypeException("The post you are requesting for is not a question") + } + + val postDto = PostDto(post.get()) + return postDto + } + + fun getAllQuestions(): List { + val allQuestions = postRepository.findAllByType(PostType.QUESTION) + return allQuestions.map { question -> PostDto(question) } + } + + fun allPostsByUserId(uId: Long): List { + val posts = postRepository.findAllByUserId(uId) + return posts.map { post -> PostDto(post) } + } + + fun getPostByTypeAndUserId(postType: PostType, uId: Long): List { + val allQuestions = postRepository.findAllByTypeAndUserId(postType, uId) + return allQuestions.map { question -> PostDto(question) } + } + + fun getAnswersByQuestionId(postType: PostType = PostType.ANSWER, qId: Long): List { + val answers = postRepository.findAllByTypeAndPost(postType, postRepository.findById(qId).get()) + return answers.map { answer -> + PostDto(answer) + } + } + + fun getAllComments(postId: Long): List { + val comments = + postRepository.findAllCommentsByTypeAndPost(PostType.COMMENT, postRepository.findById(postId).get()) + return comments.map { comment -> PostDto(comment) } + } + + fun deletePost(postId: Long): HttpStatus { + val post = postRepository.findById(postId) + post.ifPresent { p -> + p.answers.forEach(postRepository::delete) + p.comments.forEach(postRepository::delete) + } + return if (post.isEmpty) { + HttpStatus.NOT_FOUND + } else { + HttpStatus.OK + } + } + + fun upVote(postId: Long, principal: Principal): ResponseEntity { + + val existingVote = + voteRepository.findByPostIdAndUserId(postId, userRepository.findByEmail(principal.name).get().id) + if (existingVote != null && existingVote.type == VoteType.UP) { + return ResponseEntity("You can't vote twice", HttpStatus.NOT_ACCEPTABLE) + } else if (existingVote != null && existingVote.type == VoteType.DOWN) { + voteRepository.delete(existingVote) + voteRepository.save( + VoteEntity( + type = VoteType.UP, + post = postRepository.findById(postId).get(), + user = userRepository.findByEmail(principal.name).get() + ) + ) + return ResponseEntity("Vote cast Successful!", HttpStatus.OK) + } else { + voteRepository.save( + VoteEntity( + type = VoteType.UP, + post = postRepository.findById(postId).get(), + user = userRepository.findByEmail(principal.name).get() + ) + ) + return ResponseEntity("Vote cast Successful!", HttpStatus.OK) + } + } + + + fun downVote(postId: Long, principal: Principal): ResponseEntity { + + val existingVote = + voteRepository.findByPostIdAndUserId(postId, userRepository.findByEmail(principal.name).get().id) + if (existingVote != null && existingVote.type == VoteType.DOWN) { + return ResponseEntity("You can't vote twice", HttpStatus.NOT_ACCEPTABLE) + } else if (existingVote != null && existingVote.type == VoteType.UP) { + voteRepository.delete(existingVote) + voteRepository.save( + VoteEntity( + type = VoteType.DOWN, + post = postRepository.findById(postId).get(), + user = userRepository.findByEmail(principal.name).get() + ) + ) + return ResponseEntity("Vote cast Successful!", HttpStatus.OK) + } else { + voteRepository.save( + VoteEntity( + type = VoteType.DOWN, + post = postRepository.findById(postId).get(), + user = userRepository.findByEmail(principal.name).get() + ) + ) + return ResponseEntity("Vote cast Successful!", HttpStatus.OK) + } + } + + + class InvalidPostTypeException(message: String) : RuntimeException(message) + class PostNotFoundException(message: String) : RuntimeException(message) + +} +// fun getAllQuestions() = questionRepository.findAll().map { PostDto(it) } +// fun getQuestionById(id: Long) = questionRepository.findById(id).map { PostDto(it) } +// +// fun getByUserId(userId: Long): List { +// return questionRepository.findAllByUserId(userId).map { PostDto(it) } +// } + +//} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/services/SubscriptionService.kt b/src/main/kotlin/com/serge/nsn/qahub/services/SubscriptionService.kt new file mode 100644 index 0000000..db2257d --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/services/SubscriptionService.kt @@ -0,0 +1,35 @@ +package com.serge.nsn.qahub.services + +import com.serge.nsn.qahub.api.dto.SubscriptionDto +import com.serge.nsn.qahub.data.entities.Subscription +import com.serge.nsn.qahub.data.entities.SubscriptionType +import com.serge.nsn.qahub.data.repositories.SubscriptionRepository +import com.serge.nsn.qahub.data.repositories.UserRepository +import org.springframework.stereotype.Service +import java.security.Principal +import java.time.LocalDate + +@Service +class SubscriptionService( + private val subscriptionRepository: SubscriptionRepository, + private val userRepository: UserRepository, +) { +// fun subscribeUser(user: UserEntity, plan: SubscriptionPlan, startDate: LocalDate): Subscription { +// val endDate = startDate.plusMonths(plan.durationInMonths.toLong()) +// val subscription = Subscription(user = user, plan = plan, startDate = startDate, endDate = endDate) +// return subscriptionRepository.save(subscription) + + fun subscribeUser(subscriptionDto: SubscriptionDto, principal: Principal): SubscriptionDto { + val subscription = Subscription( + user = userRepository.findByEmail(principal.name).get(), + plan = SubscriptionType.valueOf(subscriptionDto.plan), + startDate = LocalDate.now(), + endDate = LocalDate.now().plusMonths(SubscriptionType.valueOf(subscriptionDto.plan).durationInMonths) + ) + + return SubscriptionDto( + subscriptionRepository.save(subscription) + ) + + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qahub/services/UserService.kt b/src/main/kotlin/com/serge/nsn/qahub/services/UserService.kt new file mode 100644 index 0000000..a2891e5 --- /dev/null +++ b/src/main/kotlin/com/serge/nsn/qahub/services/UserService.kt @@ -0,0 +1,68 @@ +package com.serge.nsn.qahub.services + +import com.serge.nsn.qahub.api.dto.UserDto +import com.serge.nsn.qahub.data.entities.Subscription +import com.serge.nsn.qahub.data.entities.SubscriptionType +import com.serge.nsn.qahub.data.entities.UserEntity +import com.serge.nsn.qahub.data.repositories.SubscriptionRepository +import com.serge.nsn.qahub.data.repositories.UserRepository +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder +import org.springframework.stereotype.Service +import java.time.LocalDate +import java.util.* + +@Service +class UserService( + private val userRepository: UserRepository, + private val subscriptionRepository: SubscriptionRepository +) { + fun register_user(dto: UserDto): UserDto { + val new_user = UserEntity( + id = dto.user_id, + name = dto.name, + username = dto.username, + email = dto.email, + password = BCryptPasswordEncoder().encode(dto.password), + roles = dto.role + ) + userRepository.save(new_user) + subscriptionRepository.save( + Subscription( + user = new_user, + plan = SubscriptionType.FREE_TRIAL, + startDate = LocalDate.now(), + endDate = LocalDate.now().plusMonths(1) + ) + ) + return UserDto(new_user) + } + + fun getUserByUsername(username: String): Optional { + return userRepository.findByUsername(username) + } + + fun getAll(): List { + return userRepository.findAll().map { UserDto(it) } + } + + fun getById(id: Long): UserDto { + return UserDto(userRepository.findById(id).get()) + } + + fun batchRegister(newUsers: List): List { + return userRepository.saveAll(newUsers.map + { userDto -> + UserEntity( + id = userDto.user_id, + name = userDto.name, + username = userDto.username, + email = userDto.email, + password = BCryptPasswordEncoder().encode(userDto.password), + roles = userDto.role + + ) + }) + .toList() + .map { userEntity -> UserDto(userEntity) } + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/QandAHubApplication.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/QandAHubApplication.kt deleted file mode 100644 index e8888cc..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/QandAHubApplication.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.serge.nsn.qanda_hub - -import org.springframework.boot.autoconfigure.SpringBootApplication -import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration -import org.springframework.boot.runApplication - -@SpringBootApplication(exclude = [SecurityAutoConfiguration::class]) - -class QandAHubApplication - -fun main(args: Array) { - runApplication(*args) -} diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/controller/userController.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/controller/userController.kt deleted file mode 100644 index d04ccee..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/controller/userController.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.serge.nsn.qanda_hub.controller -import com.serge.nsn.qanda_hub.dto.AnswerDto -import com.serge.nsn.qanda_hub.dto.CommentDto -import com.serge.nsn.qanda_hub.dto.QuestionDto -import com.serge.nsn.qanda_hub.dto.UserDto -import com.serge.nsn.qanda_hub.entities.QuestionEntity -import com.serge.nsn.qanda_hub.entities.UserEntity -import com.serge.nsn.qanda_hub.services.AnswerService -import com.serge.nsn.qanda_hub.services.CommentService -import com.serge.nsn.qanda_hub.services.QuestionService -import com.serge.nsn.qanda_hub.services.UserService -import org.springframework.http.HttpStatus -import org.springframework.http.ResponseEntity -import org.springframework.web.bind.annotation.* - -@RestController -@CrossOrigin -@RequestMapping -class UserController( - private val userService: UserService, - private val questionService: QuestionService, - private val answerService: AnswerService, - private val commentService: CommentService -) { - @PostMapping("/register") - fun registerUser(@RequestBody dto: UserDto): ResponseEntity = ResponseEntity(userService.register_user(dto), HttpStatus.CREATED) -// -// @PostMapping("/login") -// fun userLogin(@RequestBody dto: LoginDto): ResponseEntity{ -// return userService.login() -// } - - @PostMapping("/post-question") - fun askQuestion(@RequestBody questionDto: QuestionDto) = questionService.askQuestion(questionDto) - - @PostMapping("/answer-question/{question_id}") - fun answerQuestion(@RequestBody answerDto: AnswerDto, @PathVariable question_id: Long) = answerService.answerQuestion(answerDto, question_id) - - @GetMapping("/all-questions") - fun getAllQuestions(): List = questionService.getAllQuestions() - - @GetMapping("/question/{question_id}/comments") - fun viewComments(@PathVariable question_id: Long) = commentService.getAllComments(question_id) - - @PostMapping("/question/{question_id}/comment") - fun giveComment(commentDto: CommentDto) = commentService.comment(commentDto) - -} diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/dto/AnswerDto.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/dto/AnswerDto.kt deleted file mode 100644 index e426d68..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/dto/AnswerDto.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.serge.nsn.qanda_hub.dto - -import com.serge.nsn.qanda_hub.entities.AnswerEntity - -class AnswerDto( - val answer_id: Long? = null, - val content: String = "", -) { - constructor(answerEntity: AnswerEntity): this( - answer_id = answerEntity.answer_id, - content = answerEntity.content - ) -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/dto/CommentDto.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/dto/CommentDto.kt deleted file mode 100644 index 53fedee..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/dto/CommentDto.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.serge.nsn.qanda_hub.dto - -class CommentDto( - val comment_id: Long? = null, - val content: String = "" -) { - constructor(commentDto: CommentDto) : this( - comment_id = commentDto.comment_id, - content = commentDto.content - ) -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/dto/QuestionDto.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/dto/QuestionDto.kt deleted file mode 100644 index db26dcf..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/dto/QuestionDto.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.serge.nsn.qanda_hub.dto - -import com.serge.nsn.qanda_hub.entities.QuestionEntity - -class QuestionDto( - val question_id:Long? = null, - val title: String = "", - val content: String = "", -) { - constructor(questionEntity: QuestionEntity): this( - question_id = questionEntity.question_id, - title = questionEntity.title, - content = questionEntity.content - ) -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/dto/UserDto.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/dto/UserDto.kt deleted file mode 100644 index 0af50d5..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/dto/UserDto.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.serge.nsn.qanda_hub.dto - -import com.serge.nsn.qanda_hub.entities.UserEntity - -class UserDto ( - val user_id: Long?=null, - val name: String = "", - val username: String = "", - val password: String = "", - val email: String = "", - val role: String = "" - ){ - constructor(userEntity: UserEntity): this( - user_id = userEntity.user_id, - name = userEntity.name, - username = userEntity.username, - email = userEntity.email, - role = userEntity.role - ) -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/entities/AnswerEntity.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/entities/AnswerEntity.kt deleted file mode 100644 index 12cb872..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/entities/AnswerEntity.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.serge.nsn.qanda_hub.entities - -import jakarta.persistence.Entity -import jakarta.persistence.GeneratedValue -import jakarta.persistence.GenerationType -import jakarta.persistence.Id - -@Entity -class AnswerEntity ( - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - val answer_id: Long? = null, - val content: String, - ) \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/entities/CommentEntity.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/entities/CommentEntity.kt deleted file mode 100644 index e30123a..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/entities/CommentEntity.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.serge.nsn.qanda_hub.entities - -import jakarta.persistence.* - -@Entity -data class CommentEntity ( - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - val comment_id: Long? = null, - val content: String, - - @ManyToOne(fetch = FetchType.EAGER) - @JoinColumn(name = "question_id") - val question: QuestionEntity? = null, - - - ) \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/entities/QuestonEntity.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/entities/QuestonEntity.kt deleted file mode 100644 index 1a6cd35..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/entities/QuestonEntity.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.serge.nsn.qanda_hub.entities - -import jakarta.persistence.Entity -import jakarta.persistence.GeneratedValue -import jakarta.persistence.GenerationType -import jakarta.persistence.Id -import jakarta.persistence.JoinColumn -import jakarta.persistence.ManyToOne -import jakarta.persistence.OneToMany - -@Entity -data class QuestionEntity ( - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - val question_id: Long?= null, - val title: String = "", - val content: String = "", - - @ManyToOne - @JoinColumn(name = "user_id", nullable = false) - val user: UserEntity, - - @OneToMany(mappedBy = "question") - val answers: List = mutableListOf(), - - -) \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/entities/UserEntity.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/entities/UserEntity.kt deleted file mode 100644 index bad7b33..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/entities/UserEntity.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.serge.nsn.qanda_hub.entities - -import jakarta.persistence.* -import org.aspectj.weaver.patterns.TypePatternQuestions - - -@Entity - -data class UserEntity ( - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - val user_id: Long?=null, - val name: String = "", - val username: String = "", - val password: String = "", - val email: String = "", - val role: String = "", - - @OneToMany(mappedBy = "user") - val questions: List = mutableListOf(), - - @OneToMany(mappedBy = "user") - val answers: List = mutableListOf(), - - @OneToMany(mappedBy = "user") - val comments: List = mutableListOf() -) - diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/AnswerRepository.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/AnswerRepository.kt deleted file mode 100644 index 71eec2e..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/AnswerRepository.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.serge.nsn.qanda_hub.repositories - -import com.serge.nsn.qanda_hub.entities.AnswerEntity -import org.springframework.data.jpa.repository.JpaRepository - -interface AnswerRepository: JpaRepository { - -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/CommentRepository.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/CommentRepository.kt deleted file mode 100644 index a0b9a77..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/CommentRepository.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.serge.nsn.qanda_hub.repositories - -import com.serge.nsn.qanda_hub.entities.CommentEntity -import org.springframework.data.jpa.repository.JpaRepository - -interface CommentRepository: JpaRepository { -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/QuestionRepository.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/QuestionRepository.kt deleted file mode 100644 index 038355c..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/QuestionRepository.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.serge.nsn.qanda_hub.repositories - -import com.serge.nsn.qanda_hub.entities.QuestionEntity -import org.aspectj.weaver.patterns.TypePatternQuestions.Question -import org.springframework.data.jpa.repository.JpaRepository -import java.util.* - -interface QuestionRepository: JpaRepository { - -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/UserRepository.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/UserRepository.kt deleted file mode 100644 index bc5bf22..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/repositories/UserRepository.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.serge.nsn.qanda_hub.repositories - -import com.serge.nsn.qanda_hub.entities.UserEntity -import org.springframework.data.jpa.repository.JpaRepository -import org.springframework.stereotype.Repository - -@Repository -interface UserRepository : JpaRepository { - fun findByUsername(username: String): UserEntity? - -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/security/securityConfig.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/security/securityConfig.kt deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/services/AnswerService.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/services/AnswerService.kt deleted file mode 100644 index ce1da9f..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/services/AnswerService.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.serge.nsn.qanda_hub.services - -import com.serge.nsn.qanda_hub.dto.AnswerDto -import com.serge.nsn.qanda_hub.entities.AnswerEntity -import com.serge.nsn.qanda_hub.repositories.AnswerRepository -import com.serge.nsn.qanda_hub.repositories.QuestionRepository -import org.springframework.stereotype.Service -import java.util.* - -@Service -class AnswerService( - private val answerRepository: AnswerRepository, - private val questionService: QuestionService -) { - - fun answerQuestion(dto: AnswerDto, id: Long): AnswerEntity{ - if(questionService.getQuestionById(id)==null){ - throw NoSuchElementException("Question was doesn't exist/was deleted") - } - else{ - return answerRepository.save(AnswerEntity(dto.answer_id, dto.content)) - } - } - - - fun getAllAnswers(id:Long) = answerRepository.findAllById(listOf(id)) -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/services/CommentService.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/services/CommentService.kt deleted file mode 100644 index 17a3faf..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/services/CommentService.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.serge.nsn.qanda_hub.services - -import com.serge.nsn.qanda_hub.dto.CommentDto -import com.serge.nsn.qanda_hub.entities.CommentEntity -import com.serge.nsn.qanda_hub.repositories.CommentRepository -import org.springframework.stereotype.Service - -@Service -class CommentService( - private val commentRepository: CommentRepository -) { - fun comment(dto: CommentDto) = commentRepository.save(CommentEntity(dto.comment_id, dto.content)) - fun getAllComments(id: Long) = commentRepository.findAllById(listOf(id)) -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/services/QuestionService.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/services/QuestionService.kt deleted file mode 100644 index 25b5d37..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/services/QuestionService.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.serge.nsn.qanda_hub.services - -import com.serge.nsn.qanda_hub.dto.QuestionDto -import com.serge.nsn.qanda_hub.entities.QuestionEntity -import com.serge.nsn.qanda_hub.entities.UserEntity -import com.serge.nsn.qanda_hub.repositories.QuestionRepository -import org.springframework.stereotype.Service - -@Service -class QuestionService( - private val questionRepository: QuestionRepository -){ - fun askQuestion(dto: QuestionDto) = - questionRepository - .save( - QuestionEntity( - dto.question_id, - dto.title, - dto.content, - UserEntity(user_id = dto.question_id, name = "", username = "", email = "", password = "") - ) - ) - fun getAllQuestions() = questionRepository.findAll() - fun getQuestionById(id: Long) = questionRepository.findById(id) -} \ No newline at end of file diff --git a/src/main/kotlin/com/serge/nsn/qanda_hub/services/UserService.kt b/src/main/kotlin/com/serge/nsn/qanda_hub/services/UserService.kt deleted file mode 100644 index e65dbca..0000000 --- a/src/main/kotlin/com/serge/nsn/qanda_hub/services/UserService.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.serge.nsn.qanda_hub.services - -import com.serge.nsn.qanda_hub.dto.UserDto -import com.serge.nsn.qanda_hub.entities.UserEntity -import com.serge.nsn.qanda_hub.repositories.UserRepository -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder -import org.springframework.stereotype.Service - -@Service -class UserService( - private val userRepository: UserRepository -) { - fun register_user(dto: UserDto): UserDto{ - val new_user = UserEntity( - user_id = dto.user_id, - name = dto.name, - username = dto.username, - email = dto.email, - password = BCryptPasswordEncoder().encode(dto.password), - role = dto.role - ) - return UserDto(userRepository.save(new_user)) - } - - fun getUserByUsername(username: String): UserEntity?{ - return userRepository.findByUsername(username) - } - - fun getAll(): List { - return userRepository.findAll() - } - - -} \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index edef785..3745112 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -10,5 +10,9 @@ spring: database-platform: org.hibernate.dialect.H2Dialect hibernate: ddl-auto: update + show-sql: true + jwt: + secret: "36763979244226452948404D635166546A576D5A7134743777217A25432A462D" + expiration: 180000000 diff --git a/src/test/kotlin/com/serge/nsn/qanda_hub/QandAHubApplicationTests.kt b/src/test/kotlin/com/serge/nsn/qahub/QAHubApplicationTests.kt similarity index 70% rename from src/test/kotlin/com/serge/nsn/qanda_hub/QandAHubApplicationTests.kt rename to src/test/kotlin/com/serge/nsn/qahub/QAHubApplicationTests.kt index 017ea35..12e32a0 100644 --- a/src/test/kotlin/com/serge/nsn/qanda_hub/QandAHubApplicationTests.kt +++ b/src/test/kotlin/com/serge/nsn/qahub/QAHubApplicationTests.kt @@ -1,10 +1,10 @@ -package com.serge.nsn.qanda_hub +package com.serge.nsn.qahub import org.junit.jupiter.api.Test import org.springframework.boot.test.context.SpringBootTest @SpringBootTest -class QandAHubApplicationTests { +class QAHubApplicationTests { @Test fun contextLoads() {