Skip to content

Remove RelationRenameService

Background

RelationRenameService was introduced in 6072b44e . We renamed the pipelines relation to ci_pipelines.

It was intended to be removed after %11.7 after all the renaming changes to the pipelines were made.

All our new exports (from 11.6) have the new relationship ci_pipelines. If we bump the version the new exports won't have the old pipeline relation but that's ok, since they have the new one ci_pipelines and we prepared the code to work in this scenario. Therefore, I think we should be fine removing the old relationship from the RelationRenameService. !17949 (comment 226888049)

There was an open MR (!17949 (closed)), to remove old relation from RelationRenameService, but it was decided to be postponed, since we didn't want to bump current version, until we introduce Import/Export versioning: #35861 (closed)

Why we want to remove it

  • One of the reason for removing RelationRenameService, is that it makes us to execute serialize twice for those objects, even though they are effectively equal. It will make our import/export faster.

  • With our effort to introduce .ndjson as a way to process import, #197171 (closed), we need to figure out how RelationRenameService will carry over to ndjson, since it duplicates relations it renames, which is not compatible with streaming data. It would be great if we could drop it.


NOTE: we have recently dropped support for legacy merge request formats in !25616 (merged), without bumping import-export version. So maybe it's a good time to do the same with RelationRenameService, which will significantly unblock our progress with ndjson

Edited by Nikola Milojevic