Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Page Properties
label


Status

Status
colour

Yellow

Green
title

In progress

DONE

Stakeholders
OutcomeDR-000002 - Tenant Id and Module Name Restrictions
Due date
Owner



Note
titleNOTICE

This decision has been migrated to the Technical Council's Decision Log as part of a consolidation effort.  See:   DR-000002 - Tenant Id and Module Name Restrictions


Truncation problem

PostgreSQL silently truncates identifiers after 63 bytes.

...

To reduce the downtime in multi-tenant installations it must be possible to migrate one tenant at a time.

Okapi and the modules should provide these APIs :

PATCH /_/proxy/tenants - rename all non-compliant tenant ids
PATCH /_/proxy/tenants/{old_tenant_id} - rename the old tenant id, the new tenant id is in the PATCH body

Both APIs fail if the new tenant id already exists. They have a dryRun option that replies with the SQL commands to rename the schema. They have a skipSchemaRename option to disable running the schema rename SQL so that the sysop can run this separately; this might be needed if Okapi doesn't have permissions for schema renameand/or scripts to do the migration.

mod-data-import-converter-storage rename

A shorter name for this repository and module name might be mod-data-import-conv-storage with only 28 bytes.GitHub allows to rename a repository. will be mod-di-converter-storage with only 24 bytes (MODDICONV-259).

Follow guide https://dev.folio.org/guides/rename-module/

When the renamed module executes the tenant upgrade it checks whether the schema name with the old module name still exists. If yes it is renamed, the PostgreSQL ROLE is renamed and a new ROLE password is assigned if needed.

References

Jira Legacy
serverSystem JiraJIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQuerykey in (FOLIO-3450, OKAPI-1081, OKAPI-1082)
serverId01505d01-b853-3c2e-90f1-ee9b165564fc