Hello,
I recently performed a version migration of GeoNetwork, which was a bit complicated.
Several points:
1 - The LDAP directory was not properly set up; some elements had georchestraObjectIdentifier, but not all. This point blocks user synchronization with the message:
ERROR [org.geonetwork.security.external.integration] - Error synchronizing groups from orgs
org.springframework.dao.InvalidDataAccessApiUsageException: The given id must not be null!; nested exception is java.lang.IllegalArgumentException: The given id must not be null!
But once the LDAP is corrected, synchronization does not occur because it does not see any difference. It must be forced manually by executing two SQL queries:
Thanks @Pmauduit :)
2 - For the indexes, it's more complicated. By connecting to the machine, you can list all existing indexes and all mappings:
The problematic index was gn-records. It returned an HTTP 400 error, but by performing basic manual queries, I had the correct values in the index; the issue was with the mapping:
By comparing with the mapping from another server with the same version of GeoNetwork, some keywords used for sorting were missing.
The mapping was incorrect because it was not using the correct records.json. If you do not set the parameter "geonetwork.indexConfig.dir=${geonetwork.config.dir}/index/" in the georchestra datadir in geonetwork.properties, it uses another records.json, but not the one from the web-app's default data/config/index.
You can verify which one it uses in geonetwork/srv/fre/admin.console#/dashboard/information.
The default one created in /tmp/gn_data/config/index is not the same as the one in the webapp /srv/tomcat/georchestra/webapps/geonetwork/WEB-INF/data/config/index/, and thus not the one from the default georchestra datadir.
I haven't yet investigated where it comes from.
By correcting this configuration, you then need to restart the GeoNetwork service and redo the indexing through the GeoNetwork administration console.
ERROR [org.geonetwork.security.external.integration] - Error synchronizing groups from orgs
org.springframework.dao.InvalidDataAccessApiUsageException: The given id must not be null!; nested exception is java.lang.IllegalArgumentException: The given id must not be null!