Updated builds and logs deletion section
What does this MR do?
The Delete job artifacts and logs from jobs completed before a specific date
section states that all artifacts and build logs older than a given date are removed. This is not entirely true, because with_downloadable_artifacts
is used to filter the builds, so only those having artifacts are handled.
This returns an array of builds.
builds_with_artifacts = Ci::Build.with_downloadable_artifacts
This, returns an Enumerator
, which doesn't have the where
method. Because of this, the query which sets builds_to_clear
later in step 3 fails.
builds_with_artifacts = project.builds.with_downloadable_artifacts.find_each(batch_size: 1000)
To work around this, I have
- replaced the query in step 3 to use filter_map, which can handle Enumerator and array.
- I have also replaced
Ci::Build.with_downloadable_artifacts
withCi::Build.find_each
because- With this all builds are selected, not only the ones that have artifacts.
- find_each is actually find_each(batch_size: 1000) under the hood, which should perform better than e.g.
all
or no method.- I have updated the
Delete job artifacts from jobs completed before a specific date
to use find_each/filter_map
- I have updated the
Question
Since find_each
and find_each(batch_size: 1000)
are the same, the sections which mention using batch_size
to improve performance seem redundant.
Should we remove that section or replace it with something else that would help in case performance issues are encountered?
Related issues
A few customers reported our examples with batch_size don't work.
https://gitlab.zendesk.com/agent/tickets/474672
https://gitlab.zendesk.com/agent/tickets/457766
Author's checklist
-
Optional. Consider taking the GitLab Technical Writing Fundamentals course. -
Follow the: -
If you're adding or changing the main heading of the page (H1), ensure that the product tier badge is added. -
If you are a GitLab team member, request a review based on: - The documentation page's metadata.
- The associated Technical Writer.
If you are a GitLab team member and only adding documentation, do not add any of the following labels:
~"frontend"
~"backend"
~"type::bug"
~"database"
These labels cause the MR to be added to code verification QA issues.
Reviewer's checklist
Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.
If you aren't sure which tech writer to ask, use roulette or ask in the #docs Slack channel.
-
If the content requires it, ensure the information is reviewed by a subject matter expert. - Technical writer review items:
-
Ensure docs metadata is present and up-to-date. -
Ensure the appropriate labels are added to this MR. -
Ensure a release milestone is set. - If relevant to this MR, ensure content topic type principles are in use, including:
-
The headings should be something you'd do a Google search for. Instead of Default behavior
, say something likeDefault behavior when you close an issue
. -
The headings (other than the page title) should be active. Instead of Configuring GDK
, say something likeConfigure GDK
. -
Any task steps should be written as a numbered list. - If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
-
-
-
Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.