Commit f208f4c2 authored by Gabriel Mazetto's avatar Gabriel Mazetto

Allow partially migrated repositories to continue migration

Previously we verified if the projecthave at least migrated their
repository to hashed storage and prevented the migration command to
start a new migration.

The new version checks for the latest storage version available
(fully migrated), otherwise it allows migration to be triggered again.
parent bf31bd0d
...@@ -1968,7 +1968,7 @@ class Project < ActiveRecord::Base ...@@ -1968,7 +1968,7 @@ class Project < ActiveRecord::Base
end end
def migrate_to_hashed_storage! def migrate_to_hashed_storage!
return if hashed_storage?(:repository) return unless storage_upgradable?
update!(repository_read_only: true) update!(repository_read_only: true)
......
---
title: 'Hashed Storage: allow migration to be retried in partially migrated projects'
merge_request: 23087
author:
type: fixed
...@@ -3087,6 +3087,14 @@ describe Project do ...@@ -3087,6 +3087,14 @@ describe Project do
it 'does not flag as read-only' do it 'does not flag as read-only' do
expect { project.migrate_to_hashed_storage! }.not_to change { project.repository_read_only } expect { project.migrate_to_hashed_storage! }.not_to change { project.repository_read_only }
end end
context 'when partially migrated' do
it 'returns true' do
project = create(:project, storage_version: 1, skip_disk_validation: true)
expect(project.migrate_to_hashed_storage!).to be_truthy
end
end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment