NOTE: Extent of affected libraries is not clear. Currently 2 Index Data clients, no EBSCO or ByWater clients; unclear if any other hosted or on prem libraries
This seems to mean that tenant IDs with less than 4 consecutive word characters will not work with data import.
To replicate using a recent folio/snapshot Vagrant box:
- Create a tenant with an ID of 4 or more characters (e.g. test)
- Enable the same set of modules as used by the diku tenant in the Vagrant VM
- Create an admin user (e.g. using the bootstrap-superuser.pl script)
- Create a UI instance for interacting with the backend (e.g. by cloning platform-complete and running yarn start --tenant test --port 3001)
- Import a simple MARC file using the default profile. It should work.
- Create a tenant with an ID of less than 4 characters (e.g. tst)
- Enable modules and create admin user and UI instance as above
- Import a simple MARC file using the default profile. It will fail silently.
kafka-topics.sh --list shows:
Note that only one of the topics required for data import is created for the tst tenant. Log from mod-source-record-manager is attached.
I suspect the actual problem is in a shared library created from mod-pubsub in the KafkaTopicNameHelper class, but it manifests in this case in mod-source-record-manager. I suspect that this will need to be fixed in other modules, as well.
This bug is present in the Iris release and prevents tenants that don't match the pattern from being able to upgrade from Honeysuckle with a fully working system.
Additional info from jakub: Regarding the limitation introduced by this regular expression check – it should be lifted completely and allow any valid FOLIO tenant ID e.g there should be no length limits (1 char names should be accepted) or limits wrt to specific characters used. If there are limitations wrt Kafka topic naming, the tenant ID should be encoded rather than carry these limitations to the tenant ID.