AnzoGraph DB 3.1 Releases

To view the release notes for an AnzoGraph DB 3.1 release, select the version from the list below. The release notes for each version describe the product changes from the previous version.

AnzoGraph DB Version 3.1.8

This section describes the fixes and improvements in AnzoGraph DB Version 3.1.8.

This version includes patches for identified security vulnerabilities. For details about the patches, see Patched Vulnerabilities in the Graph Studio Release Notes.

New Features and Improvements

Fixes

GDI Support for Inline View Definitions

Version 3.1.8 adds GDI support for inline view definitions to enable the parsing of queries with inline views on the View step that are now supported by the Anzo SPARQL parser.

Improved Handling of the UStar Format when Loading X-Rays

Version 3.1.8 improves the handling of the UStar format by Anzo when trying to load X-Rays using UDS Remote IO service.

Support for the Use of a UDP in a USING Clause for SELECT and INSERT Statements

Version 3.1.8 enables the use of a UDP with a Using Clause to create SELECT and INSERT statements.

Support for Specifying a Destination Vertex in Unweighted Graphs

Version 3.1.8 enables users to specify a destination vertex in unweighted graphs, thereby improving performance and computation efficiency when using the shortest path function.

Numeric Overflow When Calculating Date/Time Deltas for Values Far from the Epoch

Version 3.1.8 resolves a numeric overflow issue in GDI when calculating date/time deltas for values far from the epoch (e.g. 0215-03-18T00:00:00Z).

Error Loading an X-Ray Captured through Anzo UI

Version 3.1.8 resolves an issue where loading an X-Ray captured from Anzo UI causes an error. When the query is loaded with UDS Remote IO service using the query ./azgi -timer -wide -c "prefix io: <http://cambridgesemantics.com/anzograph/io#> select (count (*) as ?count) where { service io:load('//opt/altair/anzograph/bin/filename.xray'){}. }", this results in an error "Exception thrown from within an extension - Unrecognized tar format".

Unencoded Data Binding Selectors Generated in GDI Cause Missing Data for Imported File

Version 3.1.8 resolves an issue where GDI does not encode paths and selectors when generating data binding information to drive the source onboarding process. When path navigation elements that might appear in the field names are not escaped properly, this causes data to be missing when viewing or profiling data in imported files in the graphmart source layers.

AnzoGraph Crashes While Running Elasticsearch Index Query

Version 3.1.8 fixes an issue wherein AnzoGraph crashes while executing an Elasticsearch index query from Anzo owing to the creation of >100 GROUP_CONCAT(DISTINCT ...) aggregates.

AnzoGraph DB Version 3.1.7

This version includes patches for identified security vulnerabilities. For details about the patches, see Patched Vulnerabilities in the Graph Studio Release Notes.

New Features and Improvements

Fixes

Support for "select * {}" Statement

Version 3.1.7 adds support for the SPARQL statement select * {}, which is valid per the SPARQL 1.1 specification and returns the same result as Apache Jena if the enable_unbound_variables configuration setting is set to true.

Error Loading AnzoGraph Data in a Graphmart: "Exceeds concurrent load limit 100"

Version 3.1.7 resolves an issue that occurs when loading ontologies for a layer in a Graphmart: "ErrorCode [10503] Error loading AnzoGraph data <Exception>: Exceeds concurrent load limit 100". The error is caused by leaking pload context resources that the database allocates when reading from multiple external files.

Database Reacts Inadequately when Spill Directory is Full

Version 3.1.7 corrects several issues that eventually cause the database to crash if the xray_sth_spool_maxgb configuration setting is greater than the size of the disk containing the spill directory. The database starts up despite insufficient disk space to satisfy the configuration setting for xray_sth_spool_maxgb, does not stop immediately if it runs out of space in the spill directory, and adequate disgnostics is not available.

SPARQL Endpoint - Difference in Results Output Caused by Hidden Whitespace

Version 3.1.7 fixes an issue with querying the SPARQL endpoint on AnzoGraph DB, where the CSV results are prefixed with a hidden whitespace that was not there previously, which causes an error in the code running on Oracle RDS.

Error Message Not Provided with Error Code while Reading Xray tar File

Version 3.1.7 fixes an issue where the database only provides an error code without the associated error message when failing to load xray through the io#load service.

Failure to Load Xray Step: "Unable to open xray buffer"

Version 3.1.7 resolves an issue where adding a Load Xray Step and refreshing / reloading the Graphmart causes an exception within the io#load extension: "unable to open xray buffer, return error code(-30)"

Xray Does Not Capture All Diagnostic Information

Version 3.1.7 fixes an issue where some diagnostic information was not being captured when taking an Xray.

AnzoGraph DB Version 3.1.6

This section describes the fixes and improvements in AnzoGraph DB Version 3.1.6.

This version includes patches for identified security vulnerabilities. For details about the patches, see Patched Vulnerabilities in the Graph Studio Release Notes.

New Features and Improvements

Fixes

GDI Support for Anzo Database Connection Objects

Version 3.1.6 adds GDI support for translating Anzo database connection objects. The Add Data interface of newly created or existing source layers allows browsing shared database connection objects created in the Anzo connections interface.

GDI Support for Elasticsearch kNN Search Feature

Version 3.1.6 adds GDI support for the k-nearest neighbor (kNN) search API exposed by Elasticsearch version 8.

Multiple Options, WITH Clause, and Variable Binding Cause a Query to Return Invalid Results

Version 3.1.6 resolves an issue where a SPARQL query returns invalid results if it involves multiple options, the WITH clause, and variable binding.

Queries Not Fully Recovered when the Database Auto-restarts

Version 3.1.6 corrects an issue where, after a database auto-restart following a crash, not all queries in flight for a single transaction were recovered.

Error Loading RDF Data from WebDAV Path Using io:load Service Server

Version 3.1.6 resolves an issue in the "libcsi-io" User-Defined Services extension library where loading the RDF data from WebDAV server causes an exception containing "Precondition Failed(412)" due to an incorrect PROPFIND request with depth is set to infinite. Also improved processing PROPFIND response based on the configured alias for ":DAV" and handling EOF stream based on the read size = 0 in the http(s) downloaders.

AnzoGraph DB Version 3.1.5

This section describes the new features and improvements in AnzoGraph DB Version 3.1.5.

This version includes patches for identified security vulnerabilities. For details about the patches, see Patched Vulnerabilities in the Graph Studio Release Notes.

New Features and Improvements

Fixes

Added Support for Token Authentication to Access Google Cloud Services

Version 3.1.5 adds support for token key authentication for accessing Google Cloud services in the remote IO client configurations of User-Defined Extension libraries. The newly added context parameters are gcs.auth.googledefault, gcs.auth.access_token, gcs.auth.expires_after.

Added Support for Service and External (Federated) Account JSON Object Authentication to Access Google Cloud Services

Version 3.1.5 adds support for service and external (federated) account JSON object authentication for accessing Google Cloud services in the remote IO client configurations of User-Defined Extension libraries. The newly added context parameters are gcs.auth.service_account and gcs.auth.external_account (strings of JSON object for the service account key file and the external/federated account key file, respectively.

Additional Diagnostics for the Out of Memory Killer

In the unlikely event the Linux Out of Memory Killer terminates the AnzoGraph database, version 3.1.5 preemptively captures additional database and system information to diagnose the problem.

Enhancements in License Management with AnzoGraph for Podman Users

Version 3.1.5 enhances the upgrade process for containers running on Podman by ensuring that the AnzoGraph license remains persistent throughout the container lifecycle.

Improved Error Handling for Database Start-up Issues Caused by JVM Failures

Version 3.1.5 provides more informative error messages in the client interface and the boot log file to help diagnose and troubleshoot database start-up issues caused by JVM failures.

Improved Connection Cleanup Process, Error Messages, and Logging

Version 3.1.5 provides more effective connection cleanup that improves the handling or bad or partial HTTP requests, high-concurrency connections, and similar activity or failures. More logging has been added to system tables to provide more details on when connections were started, failed, closed, etc. Connections flagged as abnormal are terminated after 5 seconds, which is configurable via http_select_timeout.

Error Activating Graphmart: "Invalid system state m_length == n"

Version 3.1.5 fixes a Graphmart activation error ("Invalid system state m_length == n") caused by incorrect conversion of non-ASCII characters to uppercase or lowercase.

Error "Exceed Concurrent Load Limit 100" when Loading a Graphmart

Version 3.1.5 fixes a resource leak issue in database queries that causes an exception "Exceed Concurrent Load Limit 100" when loading a Graphmart.

Delayed Index Resolution in GDI ElasticSource Causes Null Pointer Exception

Version 3.1.5 resolves an issue where a non-partitioned ElasticSearch queries generate a null pointer exception when executed against indices that don't exist. This effectively breaks support for determining the indices using the FROM clause in the SPARQL query, since not all layers have an ElasticSearch index mapped.

Unhandled Exception Caused by Exceeding Configured max_connections Limit

Version 3.1.5 resolves an issue where the number of actual connections exceeding the max_connections value set in the AnzoGraph DB configuration causes an unhandled exception. For example, a crash occurs when running 30 concurrent HTTP requests while max_connections=25.

Assigned Default Bolt Protocol Port Number Mismatches Documented Port

Version 3.1.5 corrects an issue where the AnzoGraph DB Helm chart assumes and documents the Bolt protocol port to be 7000, whereas the actual default port number is assigned to 7088. The same issue has been corrected for anzograph-operator.

Internal Server Error(500) when Executing HTTP Load Request for URLs Containing "webdav" Keyword

Version 3.1.5 resolves an issue in User-Defined Extensions where executing the HTTP load request for a URL containing the "webdav" keyword in its path causes an error "Internal Server Error(500)".

AnzoGraph DB Version 3.1.4

This section describes the fixes and improvements in AnzoGraph DB Version 3.1.4.

This version includes patches for identified security vulnerabilities. For details about the patches, see Patched Vulnerabilities in the Graph Studio Release Notes.

Fixes

A UDS Extension Function Causes Memory Access Error

Version 3.1.4 fixes an issue where the function last() of the User-Defined Services extension library causes a memory access error when called for a top-down service.

Deploying All-In-One Image Unnecessarily Deploys Frontend Pod

Version 3.1.4 fixes an issue where deploying the AnzoGraph DB all-in-one image with SHA and deployFrontend=true option involves unnecessary deployment of the frontend pod.

AnzoGraph DB Version 3.1.3

This section describes the new features and improvements in AnzoGraph DB Version 3.1.3.

This version includes patches for identified security vulnerabilities. For details about the patches, see Patched Vulnerabilities in the Graph Studio Release Notes.

New Features and Improvements

Fixes

Improved Support for Various URL Formats Handled by S3 VFS Driver

Version 3.1.3 improves the URL parsing behavior of the S3 VFS Driver ensuring that the URL formatting performed by the driver correctly transforms input URLs into a standard format.

Additional GDI Controls for the VIEW Enlistment Algorithm

Version 3.1.3 provides additional GDI controls for determining when a virtualized view should be executed.

GDI Error for Database Connection Query Configured with Password Context Variable

Version 3.1.3 fixes an issue where GDI would not allow secrets to be used when configuring connection properties other than the username and password. A database connection query with such properties would result in an error "Query context property is not available or is considered protected due to contents or key". The fix allows secrets to be handled securely when configuring the extended connection properties such as private_key_file_pwd.

AnzoGraph DB Version 3.1.2

This section describes the improvements and fixes in AnzoGraph DB Version 3.1.2.

This version includes patches for identified security vulnerabilities. For details about the patches, see Patched Vulnerabilities in the Graph Studio Release Notes.

Fixes

ODATA Installers No Longer Distributed with the Frontend Container

The frontend container EOLs the distribution of ODATA installers.

S3Crt Load Query Causes Connection Loss

Version 3.1.2 resolves an issue where an S3Crt load query executed with or without context results in errors "UNAVAILABLE: Network closed for unknown reason"or "connection lost: SSL error".

The cgroup RAM Quota Not Properly Checked during Kubernetes Container Activation

Version 3.1.2 resolves an issue where an S3Crt load query executed with or without context results in errors "UNAVAILABLE: Network closed for unknown reason"or "connection lost: SSL error".

Fix GDI's Handling of Nullable Variable Bindings in String Templates

Version 3.1.2 resolves an issue that occurs when using the "{{?varname}}" syntax to build strings dynamically within a GDI SERVICE clause. An error will occur if the referenced ?varname" is NULL for a particular row. The proper behavior is for the string template to evaluate to NULLunless a default value is provided by the template

"dynamic/{{?varname:default='-'}}/string"

Another workaround, in addition to specifying a default for unbound variables, is to use BOUND to conditionally evaluate the string template

IF(BOUND(?varname), "dynamic/{{?varname}}/string")

AnzoGraph DB Version 3.1.1

This section describes the new features and improvements in AnzoGraph DB Version 3.1.1.

This version includes patches for identified security vulnerabilities. For details about the patches, see Patched Vulnerabilities in the Graph Studio Release Notes.

New Features and Improvements

Fixes

Added GDI Support for Provider Metadata

Version 3.1.1 adds GDI support for a provider metadata service allowing the set of available source types and providers to be queried. This service exposes all the information needed to create instances of the various source types along with enough data to allow the source editing UI to be constructed dynamically.

GDI Test Connection Service

Version 3.1.1 adds GDI support for a test connection service to ensure connectivity from Anzo through AnzoGraph DB to the backend data source. Test connection outputs rows for each step of the connection attempt describing what succeeded and what failed.

Added GDI Support for Random Access Read for Cloud VFS Providers

In Version 3.1.1, cloud VFS drivers (S3, GCS, Azure) bundled with GDI support random access reads, which allows large files to be partitioned and makes the loading of large CSV and Parquet files faster.

Exceeded Maximum Size of the Spill Directory

Version 3.1.1 resolves an issue in the backend logging component where the total size of the accumulating spool files exceeds the configured limit for the spill directory size.

AnzoGraph DB Version 3.1.0

This section describes the new features and improvements in AnzoGraph DB Version 3.1.0.

This version includes patches for identified security vulnerabilities. For details about the patches, see Patched Vulnerabilities in the Graph Studio Release Notes.

New Features and Improvements

Improved Memory Management

Version 3.1.0 reworks the memory subsystem so that AnzoGraph DB can maximize memory usage, avoid getting shut down due to the Linux out-of-memory (OOM) killer, and accurately report how memory is being used.

Increased Historical System Data Retention for X-Ray Analysis

Version 3.1.0 increases the amount of historical system table information that is stored on disk and captured in x-rays. In previous AnzoGraph DB versions, system tables stored about 30 minutes to a few hours worth of historical system data, depending on the query workload. To spool information, system table data was written to files in the <install_path>/spill directory, but the directory was cleared each time the database was restarted. As a result, users were advised to take an x-ray immediately after encountering a problem. Taking an x-ray right away increased the chances that the x-ray captured all of the messages and debugging information necessary for diagnosing the issue.

In 3.1 releases, the spill directory is no longer cleared on restart. And, by default AnzoGraph DB is configured to retain up to 20 GB of system table data per node. That amounts to about 1 to 7 days worth of activity, depending on the workload. By default, when an x-ray is generated from the user interface, the x-ray contains the last 24 hours of historical system data, regardless of whether the database was restarted in that time frame. When an x-ray is generated with the system management CLI, there are new options for specifying the time frame to capture in the xray. For more information, see Retrieving Diagnostic Files.

This change increases by 20 GB per node the amount of disk space that the installation path requires. The location of the spill directory and the amount of historical data to retain can be adjusted, however, and are controlled by the spill_directory, xray_sth_spool_duration, and xray_sth_spool_maxgb configuration settings.

Added Support for Window Aggregates on Nullable Fields

Version 3.1.0 extends the implementation of window aggregates to support nullable fields, such as computing window aggregates on expressions. Window aggregates are not supported on null values.