Skip to content

Examples of common errors that occur when using Egeria's REST APIs

The platform is not running

If the OMAG Server Platform that should be hosting a server is not running when a request is made to an OMAG Server, then there is a ECONNREFUSED network error. For example:

GET https://localhost:9446/servers/cocoMDS1/open-metadata/repository-services/users/erinoverview/enterprise/instances/entity/d4d64735-4ddc-4a1a-a899-7c917ff5f763
Error: connect ECONNREFUSED 127.0.0.1:9446

A server is not running on the called platform

If the OMAG Server Platform is running but the requested server is not running then the following error is returned.

{
    "class": "EntityDetailResponse",
    "relatedHTTPCode": 404,
    "actionDescription": "getEntityDetail",
    "exceptionClassName": "org.odpi.openmetadata.repositoryservices.ffdc.exception.InvalidParameterException",
    "exceptionErrorMessage": "OMAG-MULTI-TENANT-404-001 The OMAG Server cocoMDS1 is not available to service a request from user erinoverview",
    "exceptionErrorMessageId": "OMAG-MULTI-TENANT-404-001",
    "exceptionErrorMessageParameters": [
        "cocoMDS1",
        "erinoverview"
    ],
    "exceptionSystemAction": "The system is unable to process the request because the server is not running on the called platform.",
    "exceptionUserAction": "Verify that the correct server is being called on the correct platform and that this server is running. Retry the request when the server is available.",
    "exceptionProperties": {
        "parameterName": "serverName"
    }
}

The requested service is not active on the called server

If the server is not running when a request is made, but the platform is running then this is the type of response returned.

{
    "class": "VoidResponse",
    "relatedHTTPCode": 404,
    "exceptionClassName": "org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException",
    "actionDescription": "refreshService",
    "exceptionErrorMessage": "OMAG-MULTI-TENANT-404-001 The OMAG Server cocoMDS1 is not available to service a request from user garygeeke",
    "exceptionErrorMessageId": "OMAG-MULTI-TENANT-404-001",
    "exceptionErrorMessageParameters": [
        "cocoMDS1",
        "garygeeke"
    ],
    "exceptionSystemAction": "The system is unable to process the request because the server is not running on the called platform.",
    "exceptionUserAction": "Verify that the correct server is being called on the correct platform and that this server is running. Retry the request when the server is available.",
    "exceptionProperties": {
        "serverName": "cocoMDS1",
        "parameterName": "serverName"
    }
}

A request is using the wrong metadata provenance

The following exception is from an integration daemon that has been set up with a null metadataSourceQualifiedName property making it different to that used when the metadata it is managing was created.

The nested message OMAG-REPOSITORY-HANDLER-400-008 can also occur through other services if metadata is managed with the wrong provenance values.

Wed May 12 20:27:47 BST 2021 postgresConnectorServer Exception POSTGRES-CONNECTOR-0002 The method updateView generated a UserNotAuthorized. org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException OMAG-REPOSITORY-HANDLER-400-008 Method updateDatabaseView is unable to modify ClassificationDef instance 947016c6-b812-4bc8-a0f4-2e44bb640603 because it is has metadata provenance of External Source with an externalSourceGUID of 6abf01f2-75d0-489b-94e6-df704fc6753b and an externalSourceName of myDBServer and user OMAGServer issued a request with the Local Cohort metadata provenance set
Wed May 12 20:27:47 BST 2021 postgresConnectorServer Exception POSTGRES-CONNECTOR-0002 Supplementary information: log record id 618af417-9c97-45a1-bdfb-af7906a8b40c org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException returned message of OMAG-REPOSITORY-HANDLER-400-008 Method updateDatabaseView is unable to modify ClassificationDef instance 947016c6-b812-4bc8-a0f4-2e44bb640603 because it is has metadata provenance of External Source with an externalSourceGUID of 6abf01f2-75d0-489b-94e6-df704fc6753b and an externalSourceName of myDBServer because user OMAGServer is using a local cohort interface and stacktrace of
UserNotAuthorizedException{userId='OMAGServer', reportedHTTPCode=400, reportingClassName='org.odpi.openmetadata.commonservices.ffdc.RESTExceptionHandler', reportingActionDescription='updateDatabaseView', reportedErrorMessageId='OMAG-REPOSITORY-HANDLER-400-008', reportedErrorMessageParameters=[updateDatabaseView, ClassificationDef, 947016c6-b812-4bc8-a0f4-2e44bb640603, External Source, 6abf01f2-75d0-489b-94e6-df704fc6753b, myDBServer, OMAGServer], reportedSystemAction='The system is unable to modify the requested instance because it does not have ownership rights to the instance.', reportedUserAction='Route the request through a process that is set up to use the correct external source identifiers.', reportedCaughtException=null, relatedProperties={userId=OMAGServer}}
    at org.odpi.openmetadata.commonservices.ffdc.RESTExceptionHandler.throwUserNotAuthorizedException(RESTExceptionHandler.java:338)
    at org.odpi.openmetadata.commonservices.ffdc.RESTExceptionHandler.detectAndThrowStandardExceptions(RESTExceptionHandler.java:122)
    at org.odpi.openmetadata.commonservices.ffdc.rest.FFDCRESTClient.callVoidPostRESTCall(FFDCRESTClient.java:309)
    at org.odpi.openmetadata.accessservices.datamanager.client.DatabaseManagerClient.updateDatabaseView(DatabaseManagerClient.java:1552)
    at org.odpi.openmetadata.integrationservices.database.connector.DatabaseIntegratorContext.updateDatabaseView(DatabaseIntegratorContext.java:737)
    at org.odpi.openmetadata.adapters.connectors.integration.postgres.PostgresDatabaseConnector.updateView(PostgresDatabaseConnector.java:745)
    at org.odpi.openmetadata.adapters.connectors.integration.postgres.PostgresDatabaseConnector.updateViews(PostgresDatabaseConnector.java:673)
    at org.odpi.openmetadata.adapters.connectors.integration.postgres.PostgresDatabaseConnector.updateSchema(PostgresDatabaseConnector.java:394)
    at org.odpi.openmetadata.adapters.connectors.integration.postgres.PostgresDatabaseConnector.updateSchemas(PostgresDatabaseConnector.java:312)
    at org.odpi.openmetadata.adapters.connectors.integration.postgres.PostgresDatabaseConnector.updateDatabase(PostgresDatabaseConnector.java:219)
    at org.odpi.openmetadata.adapters.connectors.integration.postgres.PostgresDatabaseConnector.refresh(PostgresDatabaseConnector.java:90)
    at org.odpi.openmetadata.governanceservers.integrationdaemonservices.handlers.IntegrationConnectorHandler.refreshConnector(IntegrationConnectorHandler.java:420)
    at org.odpi.openmetadata.governanceservers.integrationdaemonservices.threads.IntegrationDaemonThread.run(IntegrationDaemonThread.java:106)
    at java.base/java.lang.Thread.run(Thread.java:829)

There is more information on metadata provenance here.

The connectors for the platform are built at the wrong level

If you see the following response from a REST call that you know was working - particularly if you have upgraded your level of Egeria - then check that the connectors you have in your lib path are compatible with the platform.

{
    "timestamp": "2022-09-03T09:03:48.626+00:00",
    "status": 500,
    "error": "Internal Server Error",
    "path": "/servers/cocoMDS1/open-metadata/access-services/asset-owner/users/peterprofile/assets/data-files/csv"
}

Raise an issue or comment below