Need to set sqlite timeout

https://salsa.debian.org/dgit-team/tag2upload-service-manager/-/jobs/7888423

+ jobid=1
+ t-pause throttle K 'throttle test'
+ ../../maint/pause --db=t2usm.db throttle K 'throttle test'
Error: in prepare, database is locked (5)

To reproduce with raw sqlite3:

  • In shell 1, sqlite3 t.db and then begin exclusive;
  • In shell 2, sqlite3 -batch t.db 'select * from t;', observ instantaneous error

Setting a timeout will fix it:

  • In shell 2, printf '.timeout 10000 \n select * from t;' | sqlite3 -batch t.db

We should:

  • add timeout all sqlite3 cli invocations
  • add timeout to the Rust code (if we haven't done that already)
  • consider whether to add a BUSY handling loop if there isn't one already
  • consider how we might test this
Edited by Ian Jackson
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information