Loading
Store bundled catalog readmes in object storage
What
Bundled catalog readmes are stored in object storage instead of Postgres.
readme and readme_html on catalog_bundled_resource_versions are unlimited text columns, which @mbobin raised as a database disk space risk. Both columns are now ignored, are dropped in 19.5, and the ignore is removed in 19.6. No new bucket is required.
Database review
One migration, one column, on a table that is empty in production:
ALTER TABLE catalog_bundled_resource_versions
ADD COLUMN file_store smallint DEFAULT 1 NOT NULL;Ci::Catalog::BundledResources::CompileAndStoreService is the only writer of this table and it still has no caller outside its own spec, so neither column holds data anywhere.
The readme write stays bundled_version.update!(readme: readme). Gitlab::ExternallyStoredField persists the payload in an after_commit hook, so it cannot be moved into the upsert_all.
References
- #624275 (closed)
- !250506 (merged)
- Drops the columns in 19.5: #626853 (closed)
- Removes the ignore in 19.6: #626854
Edited by Laura Montemayor