Overview
Comment: | Hack to turn off multi-db-handles |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.70 |
Files: | files | file ages | folders |
SHA1: |
ffc3c2a09db9bab809ee8e0fbfb271f7 |
User & Date: | matt on 2022-10-23 19:40:02 |
Other Links: | branch diff | manifest | tags |
Context
2022-10-25
| ||
17:36 | Changed version to v1.7008 check-in: e82a5949b2 user: mmgraham tags: v1.70, v1.7008 | |
2022-10-23
| ||
19:40 | Hack to turn off multi-db-handles check-in: ffc3c2a09d user: matt tags: v1.70 | |
10:57 | Improved db stats collection and switch to using WAL in /tmp check-in: 2180fd1986 user: matt tags: v1.70 | |
Changes
Modified dbfile.scm from [162c384c6c] to [2d10dcee17].
︙ | ︙ | |||
274 275 276 277 278 279 280 | ;; it to the stack). ;; (define (dbfile:open-db dbstruct run-id init-proc) (if (> *dbfile:num-handles-in-use* 10) (let* ((wait-delay (- *dbfile:num-handles-in-use* 9))) (dbfile:print-err "INFO: over ten dbfile handle threads in use ("*dbfile:num-handles-in-use*") delaying "wait-delay" second") (thread-sleep! wait-delay))) | < | | > > > > > | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 | ;; it to the stack). ;; (define (dbfile:open-db dbstruct run-id init-proc) (if (> *dbfile:num-handles-in-use* 10) (let* ((wait-delay (- *dbfile:num-handles-in-use* 9))) (dbfile:print-err "INFO: over ten dbfile handle threads in use ("*dbfile:num-handles-in-use*") delaying "wait-delay" second") (thread-sleep! wait-delay))) (let* ((subdb (dbfile:get-subdb dbstruct run-id))) (if (not subdb) ;; not yet defined (begin (dbfile:init-subdb dbstruct run-id init-proc) (dbfile:open-db dbstruct run-id init-proc)) (let* ((dbdat (dbfile:get-dbdat dbstruct run-id))) (if dbdat dbdat (let* ((tmppath (dbr:dbstruct-tmppath dbstruct)) (tmpdbpath (dbfile:run-id->path tmppath run-id)) (dbdat (dbfile:open-sqlite3-db tmpdbpath init-proc sync-mode: 0 journal-mode: "WAL"))) ;; the following line short-circuits the "one db handle per thread" model ;; (dbfile:add-dbdat dbstruct run-id dbdat) ;; dbdat)))))) ;; COMBINE dbfile:open-sqlite-db and dbfile:lock-create-open ;; ;; this stuff is for initial debugging, please remove it when ;; this code stabilizes (define *dbopens* (make-hash-table)) (define (dbfile:inc-db-open dbfile) |
︙ | ︙ |