Error Message Reference

This topic describes the possible causes and solutions for error messages. Click a message in the list below to view details about that error:

File uses multiline records and cannot be segmented - disable segmenting for this file

This message indicates that you onboarded a CSV file that has embedded new lines and the Graph Data Interface (GDI) is unable to segment (partition) the file. Segmenting is enabled by default when using the automated direct load workflow and when running manually written GDI queries that do not explicitly disable segments. To resolve the issue, you have two options:

  1. The most straightforward option is to edit the Direct Load Step query, even if it was automatically generated. To do so, open the step for editing and add the following content to the query below the FileSource object. After editing the query and saving the step, you can refresh or reload the layer or graphmart to onboard the file.
    s:format [
      s:segment false ;
    ] ;

    For example, the s:segment property is added to the WHERE clause below:

    WHERE {
      SERVICE <http://cambridgesemantics.com/services/DataToolkit>
      {
        ?data a s:FileSource ;
          s:url "/opt/shared-files/data/csv/post_6_0/" ;
          s:pattern "post_[0-9]*_[0-9]*.csv" ;
          s:format [ 
            s:delimiter "|" ;
            s:segment false ;
          ] ;
        ...
  2. The second way to resolve the issue is to invoke the direct load workflow again. This time, expand the Advanced settings and disable the Enable Partitioning option. When you rerun the workflow with Enable Partitioning disabled, the GDI does not try to segment the file. This method can be more complicated than the first option, however, because the previous graphmart (or layer that was added to an existing graphmart) from the first run will not be overwritten by the second run. Another graphmart (or layer) is created, and the existing one with the error must be deleted or disabled.

Elasticsearch exception: Data too large for [http_request]

This message indicates that the Elasticsearch heap size is not large enough to process the request. By default, Elasticsearch is configured to use a maximum heap size of 1 GB. Cambridge Semantics recommends that you increase the amount to 50% of the memory that is available on the server. To change the configuration, open the <elasticsearch_install_dir>/config/jvm.options file in an editor. At the top of the file, modify the Xms and Xmx values to replace the 1 with the new value. For example:

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms15g
-Xmx15g

Error creating/mounting volume: User does not have read/write permission to location specified for new volume

If a new volume is being created via the Administration application and the user who is creating the volume has read/write permission to the file system location, it is likely that this message was returned because a relative path to the volume location was used. To resolve the issue, type the absolute path to the location for the new volume.

Error generating frame graph for ontology: <ontology_uri> java.util.NoSuchElementException

If this message is returned when importing an ontology, it likely means that a multi-domain of a property is not constructed correctly as a list. For example, a multi-domain property may be defined incorrectly like the following example:

:isPublic a owl:DatatypeProperty, owl:FunctionalProperty ;
  rdfs:label "Is Public" ;
  restapi:apiIgnore true ;
  rdfs:domain  :ComponentBasedLinkedDataSet , :DatasetEdition ;
  rdfs:range xsd:boolean .

The corrected syntax is below:

:isPublic a owl:DatatypeProperty, owl:FunctionalProperty ;
  rdfs:label "Is Public" ;
  restapi:apiIgnore true ;
  rdfs:domain  [ a owl:Class ; owl:unionOf  ( :ComponentBasedLinkedDataSet :DatasetEdition ) ] ;
  rdfs:range xsd:boolean .

The ontology must be corrected and re-imported.

LDAPException: Client request timed out or LdapException: searching for user

If users have intermittent problems logging in to Anzo and an LDAP timeout or "operations error" is logged, it may be that the connection to the directory server times out before the server can return the user authorization data to Anzo. To help resolve the issue, you can configure an LDAP heartbeat so that Anzo maintains the connection to the server. See Setting a Heartbeat for LDAP Connections for instructions.

QueryServlet - Could not flush org.eclipse.jetty.io.EofException

Typically this error means that the client that called the Anzo SPARQL endpoint disconnected. This may mean that you ran a query that returns more results than the client can handle. Adding a LIMIT to the query may resolve the issue.

CloudProviderException Failed to get node pools: Unable to execute HTTP request

This exception typically means that you are connecting to a Cloud Location and the firewall is blocking access to the pricing information from the cloud service provider. To resolve the issue, you can disable the retrieval of pricing information. See Disabling Cloud Location Pricing Information for instructions.

Unstructured Pipeline Errored: Cluster has no workers for pipelineWorkerService

If the unstructured cluster is running but this exception is returned when an unstructured pipeline is run, it is likely that the connection to the cluster was lost and the worker nodes are reported as "Removed." To correct the issue, reconnect the cluster to Anzo by clicking the Connect button on the Unstructured Clusters > Configuration tab in the Administration application.

GqeAnzoException: Exception thrown from within an extension jvm - java.lang.OutOfMemoryError: Java heap space

This message indicates that you ran a query that calls an AnzoGraph Java extension and the AnzoGraph JVM is not allocated enough memory to execute the query. To resolve the issue, modify the AnzoGraph server configuration file, <install_path>/config/settings.conf, to increase the value for the jvm_max_memory setting. For instructions on changing settings.conf, see Changing AnzoGraph Settings.

AnzoGraph: Cannot execute as user 'root'. Invalid user id

This message indicates that you tried to start AnzoGraph as the root user and root access is disabled. Log in as the correct user, and then run the command again.

AnzoGraph: Invalid Certificate

This message indicates that you replaced the default AnzoGraph certificates with your own trusted certificates and the certificates are invalid. Certificates can be invalid because they expired or they were generated or signed incorrectly. For information about replacing certificates, see Replace the Default Self-Signed Certificates with Trusted Certificates.

AnzoGraph: Exception thrown from within the JVM - error -78 starting the JVM

This error indicates that AnzoGraph cannot find the installed JVM and likely means that the $JAVA_HOME variable is not set. Typically AnzoGraph is started via systemd services and $JAVA_HOME is set in the azgmgrd.service unit. If AnzoGraph is started from the executables in <install_path>/anzograph/bin, however, the $JAVA_HOME variable must be set for the instance. To resolve the issue, start AnzoGraph with systemctl or set $JAVA_HOME on each instance in the cluster.

AnzoGraph: stg: Cannot allocate memory - heap is exhausted

This message indicates that all of the memory that is available to AnzoGraph is in use and there is not enough left to run queries. The solution is to free memory by restarting AnzoGraph. Then either adjust your workload to reduce the amount of data that is loaded or increase the amount of RAM on the host server(s).

AnzoGraph: localhost:8256: Connection refused

This message indicates that you sent a request to the SPARQL HTTPS port, such as when using the AnzoGraph CLI (azgi), and SSL protocol is disabled. SSL access is controlled by the enable_ssl_protocol setting. If HTTPS access is disabled and you want to enable it so that you can use the CLI, see Changing AnzoGraph Settings for instructions.

Enabling the SPARQL HTTPS protocol opens the standard SPARQL-compliant HTTPS endpoint. Unlike the Anzo gRPC protocol endpoint, the SPARQL HTTPS endpoint is encrypted but not authenticated.

AnzoGraph: "Compilation Failed" at Startup

If AnzoGraph fails to start and you receive a "Compilation failed" message, it may indicate that some of the required GNU Compiler Collection (GCC) libraries are missing. Specifically, AnzoGraph requires the glibc, glibc-devel, and gcc-c++ libraries. Typically when you install GCC by running yum install gcc those libraries are included as part of the package. In some cases, depending on the host server configuration, installing GCC excludes certain libraries. To install the missing libraries, run the following command and then start AnzoGraph again:

sudo yum install glibc glibc-devel gcc-c++

AnzoGraph: Fatal Error. Caught Signal 15

This error indicates that a process external to AnzoGraph stopped the AnzoGraph processes, such as if the host machine was shut down while AnzoGraph was running. Restart AnzoGraph to proceed with normal usage.