Skip to content

Commit f0e32b2

Browse files
mymlloopljgemini-code-assist[bot]
authored
opt: reduce sqlite "database is locked" error (#1009)
* fix: sqlite "database is locked" error 在sqllite+hdd+trace很容易出现 database is locked 错误, 导致trace记录不完整 通过限制sqlite并发数避免这个问题 * Update internal/server/db/ent.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --------- Co-authored-by: Loop <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
1 parent 28e442c commit f0e32b2

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

internal/server/db/ent.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ func NewEntClient(cfg Config) *ent.Client {
4646
if err != nil {
4747
panic(err)
4848
}
49+
// 将 SQLite 的最大打开连接数限制为 1,以防止在高并发写入时出现 "database is locked" 错误。
50+
// 这有效地序列化了所有数据库访问。
51+
sqlDB.SetMaxOpenConns(1)
52+
sqlDB.SetMaxIdleConns(1)
4953

5054
dbDialect = dialect.SQLite
5155
case "mysql", "tidb":

0 commit comments

Comments
 (0)