Markdown cache
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed
For performance reasons, GitLab caches the HTML version of Markdown text in fields such as:
- Comments.
- Issue descriptions.
- Merge request descriptions.
These cached versions can become outdated, such as when the external_url
configuration option is changed. Links
in the cached text would still refer to the old URL.
Invalidate the cache
You can invalidate the Markdown cache by using either the API or the Rails console.
Use the API
Prerequisites:
- You must have administrator access.
To invalidate the existing cache using the API:
Increase the
local_markdown_version
setting in application settings by sending a PUT request:curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/application/settings?local_markdown_version=<increased_number>"
For more information about this API endpoint, see update application settings.
Use the Rails console
Prerequisites:
- You must have Rails console access.
For a group
To invalidate the cache for a group:
Start a Rails console:
sudo gitlab-rails console
Find the group to update:
group = Group.find(<group_id>)
Invalidate the cache for all projects in the group:
group.all_projects.each_slice(10) do |projects| projects.each do |project| # Invalidate issues project.issues.update_all( description_html: nil, title_html: nil ) # Invalidate merge requests project.merge_requests.update_all( description_html: nil, title_html: nil ) # Invalidate notes/comments project.notes.update_all(note_html: nil) end # Pause for one second after updating 10 projects sleep 1 end
For a project
To invalidate the cache for a single project:
Start a Rails console:
sudo gitlab-rails console
Find the project to update:
project = Project.find(<project_id>)
Invalidate issues:
project.issues.update_all( description_html: nil, title_html: nil )
Invalidate merge requests:
project.merge_requests.update_all( description_html: nil, title_html: nil )
Invalidate notes and comments:
project.notes.update_all(note_html: nil)
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support