Currently, the crosswalk metadata service is allowing uris with non-ascii characters to pass through, and they are persisted in hyrax, only to blow up when the indexer runs. This in turn can cause other assets to blow up as well during nested indexing.
Since we are already doing a superficial check for the presence of a uri in any property that should have one, we can also check that the uri is ascii_only? and fail the migration before it tries to persist.
Currently, the crosswalk metadata service is allowing uris with non-ascii characters to pass through, and they are persisted in hyrax, only to blow up when the indexer runs. This in turn can cause other assets to blow up as well during nested indexing. Since we are already doing a superficial check for the presence of a uri in any property that should have one, we can also check that the uri is ascii_only? and fail the migration before it tries to persist.