[sqlite] increase timeout to avoid BUSY errors

Summary: This should stop the bleeding until we get a better solution like shared memory + single writer process.

Reviewed By: mbouaziz

Differential Revision: D10868360

fbshipit-source-id: a4d0b064e
master
Jules Villard 6 years ago committed by Facebook Github Bot
parent 3ee96263a7
commit cb4bf4443f

@ -299,7 +299,7 @@ OPTIONS
--sqlite-lock-timeout int --sqlite-lock-timeout int
Timeout for SQLite results database operations, in milliseconds. Timeout for SQLite results database operations, in milliseconds.
(default: 10000) (default: five seconds times number of cores)
--starvation --starvation
Activates: starvation analysis (Conversely: --no-starvation) Activates: starvation analysis (Conversely: --no-starvation)

@ -97,7 +97,7 @@ OPTIONS
--sqlite-lock-timeout int --sqlite-lock-timeout int
Timeout for SQLite results database operations, in milliseconds. Timeout for SQLite results database operations, in milliseconds.
(default: 10000) (default: five seconds times number of cores)
-- Stop argument processing, use remaining arguments as a build -- Stop argument processing, use remaining arguments as a build
command command

@ -834,7 +834,7 @@ OPTIONS
--sqlite-lock-timeout int --sqlite-lock-timeout int
Timeout for SQLite results database operations, in milliseconds. Timeout for SQLite results database operations, in milliseconds.
(default: 10000) See also infer-analyze(1), infer-capture(1), and infer-run(1). (default: five seconds times number of cores) See also infer-analyze(1), infer-capture(1), and infer-run(1).
--stacktrace file --stacktrace file
File path containing a json-encoded Java crash stacktrace. Used to File path containing a json-encoded Java crash stacktrace. Used to

@ -139,7 +139,7 @@ OPTIONS
--sqlite-lock-timeout int --sqlite-lock-timeout int
Timeout for SQLite results database operations, in milliseconds. Timeout for SQLite results database operations, in milliseconds.
(default: 10000) (default: five seconds times number of cores)
--version --version
Print version information and exit Print version information and exit

@ -834,7 +834,7 @@ OPTIONS
--sqlite-lock-timeout int --sqlite-lock-timeout int
Timeout for SQLite results database operations, in milliseconds. Timeout for SQLite results database operations, in milliseconds.
(default: 10000) See also infer-analyze(1), infer-capture(1), and infer-run(1). (default: five seconds times number of cores) See also infer-analyze(1), infer-capture(1), and infer-run(1).
--stacktrace file --stacktrace file
File path containing a json-encoded Java crash stacktrace. Used to File path containing a json-encoded Java crash stacktrace. Used to

@ -2018,7 +2018,12 @@ and specs_library =
and sqlite_lock_timeout = and sqlite_lock_timeout =
CLOpt.mk_int ~long:"sqlite-lock-timeout" ~default:10_000 (* some lame estimate: when the frontend writes CFGs to disk, it may take a few seconds to write
one CFG and all the cores may be trying to write to the database at the same time. This means
one process might wait (a few seconds) * (number of cores) to write its CFG. *)
let five_seconds_per_core = ncpu * 5_000 in
CLOpt.mk_int ~long:"sqlite-lock-timeout" ~default:five_seconds_per_core
~default_to_string:(fun _ -> "five seconds times number of cores")
~in_help: ~in_help:
InferCommand.[(Analyze, manual_generic); (Capture, manual_generic); (Run, manual_generic)] InferCommand.[(Analyze, manual_generic); (Capture, manual_generic); (Run, manual_generic)]
"Timeout for SQLite results database operations, in milliseconds." "Timeout for SQLite results database operations, in milliseconds."

Loading…
Cancel
Save