historical schema incompliant entries in CN storage causing CN_Read errors
The CI 2.3 deployment rolled out JAXB schema validation (replacing JiBX schema validation), which is stricter.
Empty ReplicationPolicy preferred and blockMemberNode entries were in the postgres db, and needed to be removed to avoid future Marshalling errors upon retreival.
We need to check the rest of the postgres db systemmetadata and related tables for similar empty entries.
#1 Updated by Rob Nahf over 3 years ago
using psql, I checked the system metadata tables for persisted empty values. Found no problems except for already known about spaces in identifiers (#3492).
WHERE IS NULL;
WHERE BTRIM(, ' ') = ''; # this finds any field which is empty or 1 or more space characters.
WHERE LIKE '% %'; # find fields that contain internal white space
against all text-based fields.
Also ran checks to make sure that system metadata could be retrieved when a record from xml_access, smreplicationpolicy, or smreplicationstatus
tables could not be joined because of no matching entry in the 'sub' tables.
found exemplar pid using query similar to this:
select systemmetadata.guid, xml_access.guid from systemmetadata LEFT OUTER JOIN xml_access ON (systemmetadata.guid = xml_access.guid) where xml_access.guid IS NULL;
using curl from the CN and using client .pem file, did curl command against cn.dataone.org/cn/v2/meta/ to make sure it returned properly.
no problems found.