cssxsh / mirai-hibernate-plugin

Mirai Console Hibernate/ORM 数据库前置插件
GNU Affero General Public License v3.0
31 stars 1 forks source link

插件会阻断mirai处理消息 #3

Closed Haocen2004 closed 2 years ago

Haocen2004 commented 2 years ago

2.0.7 -> 2.0.8 任何聊天环境消息无法响应 后台无输出 在控制台输入指令正常

cssxsh commented 2 years ago

可能是数据库拥塞? 2.0.8 提高了拦截等级,EventPriority.HIGHEST 下个版本改成异步执行

cssxsh commented 2 years ago

with https://github.com/cssxsh/mirai-hibernate-plugin/releases/tag/v2.1.0

Haocen2004 commented 2 years ago

2.1.0 依然存在

cssxsh commented 2 years ago

有安装 https://github.com/cssxsh/mirai-administrator

Haocen2004 commented 2 years ago

没有

Running MiraiConsole v2.10.1, built on 2022-03-08 21:54:56.
Frontend Terminal: version 2.10.1, provided by Mamoe Technologies

Permission Service: LuckPerms v2.5-RC-dev-3+5.3-SNAPSHOT

Plugins: bilibili-helper v1.4.13, Chat Command v0.5.0, debug-helper v1.2.0, LuckPerms v2.5-RC-dev-3+5.3-SNAPSHOT, MCL Addon v1.2.2, net.mamoe.mirai-api-http v1.12.0, top.limbang.mirai-console-minecraft-plugin v1.1.4, mirai-hibernate-plugin v2.1.0, pixiv-helper v1.9.4

Object Pending Finalization Count: 0
                 committed |  init   |   used   |   max  
    Heap Memory: 162.53MB  | 16.0MB  | 106.18MB | 247.5MB
Non-Heap Memory:  68.24MB  | 160.0KB | 67.33MB  |   -1   
cssxsh commented 2 years ago

发现原因了 是 Sqlite 不支持多会话,

2022-05-04 11:09:21 W/mirai-hibernate-plugin: PersistenceException
org.hibernate.TransactionException: Unable to commit against JDBC Connection
        at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.commit(AbstractLogicalConnectionImplementor.java:92)
        at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:282)
        at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101)
        at xyz.cssxsh.mirai.plugin.MiraiHibernateRecorder$record$1.invoke(MiraiHibernateRecorder.kt:34)
        at xyz.cssxsh.mirai.plugin.MiraiHibernateRecorder$record$1.invoke(MiraiHibernateRecorder.kt:30)
        at xyz.cssxsh.mirai.plugin.MiraiHibernateUtilsKt.useSession(MiraiHibernateUtils.kt:24)
        at xyz.cssxsh.mirai.plugin.MiraiHibernateUtilsKt.useSession$default(MiraiHibernateUtils.kt:22)
        at xyz.cssxsh.mirai.plugin.MiraiHibernateRecorder.record(MiraiHibernateRecorder.kt:30)
        at xyz.cssxsh.mirai.plugin.MiraiHibernateRecorder.access$record(MiraiHibernateRecorder.kt:27)
        at xyz.cssxsh.mirai.plugin.MiraiHibernateRecorder$record$3.invokeSuspend(MiraiHibernateRecorder.kt:57)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Caused by: org.sqlite.SQLiteException: [SQLITE_BUSY]  The database file is locked (database is locked)
        at org.sqlite.core.DB.newSQLException(DB.java:1030)
        at org.sqlite.core.DB.newSQLException(DB.java:1042)
        at org.sqlite.core.DB.throwex(DB.java:1007)
        at org.sqlite.core.DB.exec(DB.java:178)
        at org.sqlite.SQLiteConnection.commit(SQLiteConnection.java:421)
        at com.zaxxer.hikari.pool.ProxyConnection.commit(ProxyConnection.java:361)
        at com.zaxxer.hikari.pool.HikariProxyConnection.commit(HikariProxyConnection.java)
        at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.commit(AbstractLogicalConnectionImplementor.java:86)
        ... 15 more
cssxsh commented 2 years ago

with https://github.com/cssxsh/mirai-hibernate-plugin/releases/tag/v2.1.1 api 有所更新, pixiv-helper 也要更新 with https://github.com/cssxsh/pixiv-helper/releases/tag/v1.9.6

Haocen2004 commented 2 years ago

fix confirm