diff options
author | James E. Blair <jim@acmegating.com> | 2021-09-13 16:20:01 -0700 |
---|---|---|
committer | James E. Blair <jim@acmegating.com> | 2021-09-27 11:54:33 -0700 |
commit | 7d7d2f9f2ace827ae1976ae2f8f54e99c7848fef (patch) | |
tree | 47f78742e5fbf771dabd713f26abfbb74a20b8cc /releasenotes | |
parent | 0928c397937da4129122b00d2288e582bc46aabc (diff) | |
download | zuul-7d7d2f9f2ace827ae1976ae2f8f54e99c7848fef.tar.gz |
Remove time database
We can obtain the same information from the SQL database now, so
do that and remove the filesystem-based time database. This will
help support multiple schedulers (as they will all have access to
the same data).
Nothing in the scheduler uses the state directory anymore, so clean
up the docs around that. The executor still has a state dir where
it may install ansible-related files.
The SQL query was rather slow in practice because it created a
temporary table since it was filtering mostly by buildset fields
then sorting by build.id. We can sort by buildset.id and get nearly
the same results (equally valid from our perspective) much faster.
In some configurations under postgres, we may see a performance
variation in the run-time of the query. In order to keep the time
estimation out of the critical path of job launches, we perform
the SQL query asynchronously. We may be able to remove this added
bit of complexity once the scale-out-scheduler work is finished
(and/or we we further define/restrict our database requirements).
Change-Id: Id3c64be7a05c9edc849e698200411ad436a1334d
Diffstat (limited to 'releasenotes')
-rw-r--r-- | releasenotes/notes/time-db-removed-39a24ce406da0ee8.yaml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/releasenotes/notes/time-db-removed-39a24ce406da0ee8.yaml b/releasenotes/notes/time-db-removed-39a24ce406da0ee8.yaml new file mode 100644 index 000000000..76b40c13c --- /dev/null +++ b/releasenotes/notes/time-db-removed-39a24ce406da0ee8.yaml @@ -0,0 +1,10 @@ +--- +upgrade: + - | + The scheduler time database has been removed. This was stored in + the scheduler state directory, typically ``/var/lib/zuul/times``. + The entire state directory on the scheduler is no longer used and + may now be removed. + + Zuul now derives its estimated build duration times from the SQL + database. |