BigW Consortium Gitlab
Artifacts are in the middle of being migrated from ci_builds to ci_job_artifacts. The expiration date is currently visible in both of these tables and the test for whether an expired artifact is present for a job is complex as it requires checking both the of the tables. Add two new indexes, one on ci_builds.artifacts_expire_at and one on ci_job_artifacts.expire_at to enable finding expired artifacts efficiently. And until the migration is finished, replace the SQL for finding expired and non-expired artifacts with a hand-crafted UNION ALL based query instead of using OR. This overcomes a database optimizer limitation that prevents it from using these indexes. When the migration is finished the next version should remove this query and replace it with a much simpler query on just ci_job_artifacts. See https://gitlab.com/gitlab-org/gitlab-ce/issues/42561 for followup.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
bin | Loading commit data... | |
config | Loading commit data... | |
controllers | Loading commit data... | |
db/production | Loading commit data... | |
factories | Loading commit data... | |
features | Loading commit data... | |
finders | Loading commit data... | |
fixtures | Loading commit data... | |
helpers | Loading commit data... | |
initializers | Loading commit data... | |
javascripts | Loading commit data... | |
lib | Loading commit data... | |
mailers | Loading commit data... | |
migrations | Loading commit data... | |
models | Loading commit data... | |
policies | Loading commit data... | |
presenters | Loading commit data... | |
requests | Loading commit data... | |
routing | Loading commit data... | |
rubocop/cop | Loading commit data... | |
serializers | Loading commit data... | |
services | Loading commit data... | |
sidekiq/cron | Loading commit data... | |
support | Loading commit data... | |
tasks | Loading commit data... | |
unicorn | Loading commit data... | |
uploaders | Loading commit data... | |
validators | Loading commit data... | |
views | Loading commit data... | |
workers | Loading commit data... | |
factories_spec.rb | Loading commit data... | |
rails_helper.rb | Loading commit data... | |
rake_helper.rb | Loading commit data... | |
simplecov_env.rb | Loading commit data... | |
spec_helper.rb | Loading commit data... |