Release Notes

TigerGraph Server 3.6.0 LTS was released on June 17th, 2022.

LTS versions are supported for 24 months from their initial release and should be the choice for production deployments.

  • The most recent update is 3.6.3, which was released on February 9th, 2023.

  • The latest maintenance release of TigerGraph 3.6 is available on TigerGraph Cloud.

New Features

Below is a list of new features and improvements:

Elasticity

  • Added support for provisioning Elastic Read-only (ER) clusters (Preview)[1] with different partitions than the primary cluster.

    • Note: This feature is currently in the preview stage only available for enterprise TigerGraph Cloud customers. If you are a paid TigerGraph Cloud enterprise customer and want to set up an ER cluster for your environment, please open a support ticket.

Manageability

  • Introduced TigerGraph Kubernetes Operator (Preview) [1]. TigerGraph Kubernetes Operator allows you to automate operations such as the creation, status checking and deletion of TigerGraph clusters.

Security

  • Sensitive data such as user credentials in log and configuration files are now encrypted.

Ecosystem integration

Performance

  • Improved data loading speed and reliability.

  • Improved the speed and reliability of database catalog operations such as vertex and edge definition, schema changes, and query installation.

  • Optimized query compilation during schema changes to greatly enhance schema change performance.

Observability

  • Improved GSQL log debuggability by ensuring all metadata and data update operations share a common prefix.

  • Improved engine log debuggability by including the ID of the original request from RESTPP.

  • Added more detail to several error messages.

Data API service

Query Language Enhancement

  • Reducer function add() now accumulates values when loading to a MAP attribute.

GraphStudio and Admin Portal Enhancement

Graph Data Science Library Enhancement

  • Simplified installation of algorithms: UDFs required by certain algorithms are included with the database and will be automaticalled installed.

Fixed issues

Fixed in 3.6.3

TigerGraph Server 3.6.3 was released on February 9, 2023.

Security

  • Fixed security vulnerabilities in Moment, JQuery UI, Eclipse Jersey, and ApacheHTTPClient.

  • Fixed security vulnerabilities in the Docker client.

  • Redacted sensitive data by default in the gadmin connector list command output. Introduced the -v or --verbose flags to show the full output.

  • Improved clarity of write_role and read_role privileges to prevent misunderstandings and improve security.

  • Strongly enhanced security of UDF file handling. UDF files are disabled by default and need to be manually enabled each use, preventing malicious uses.

  • Fixed an issue where two conflicting authorization tokens could be created on the same graph, causing an error.

  • Fixed an issue where an empty user ID could cause an error in rare cases.

  • Fixed an issue where an uncommonly short authorization token could cause an error.

  • Improved security of the base tigergraph folder on a server installation, preventing unauthorized modification.

Graph Engine

  • Fixed an issue where in rare cases a data filter would cause previously-entered data mappings to be deleted

  • Fixed an issue that sometimes caused a crash when exporting a graph that included a recursive query.

  • Improved handling of data sources that included the \ character.

  • Fixed an issue where the edge count between different replicas could in rare cases be inconsistent.

  • Fixed an issue where in rare cases data would be written incorrectly at the time of an engine restart.

  • Fixed an issue where in rare cases an accumulator could return unexpected results.

  • Fixed an issue that could cause a data loading failure or invalid vertex IDs after a GSE restart when some vertices were deleted.

  • Fixed an issue with edge parallel processing where an unusually high number of edge transactions could cause a crash or missing data resulting from invalid edge data access.

Backup and Restore

  • Improved the query install stage during backup and restore, increasing stability and improving error handling.

Kafka

  • Rebalanced Kafka replication to avoid placing too many replicas on the same node, which could lead to memory errors.

  • Fixed an issue with too much memory usage during large file loading with Kafka.

GraphStudio and Admin Portal

  • Fixed an issue where users without the WRITE QUERY privilege could still draft queries in GraphStudio.

  • Fixed an issue where certain file names in GraphStudio could in rare cases cause an error during data loading.

API

  • Added the Content Type in the response header for the requesttoken endpoint for consistency with other endpoints.

Fixed in 3.6.2

TigerGraph Server 3.6.2 was released on August 16th, 2022.

  • Improved query installation error handling during GBAR restore.

  • Fixed an issue that could cause timeout errors when running queries in rare cases.

  • Fixed an issue that caused cross-region replication to stop syncing when the primary cluster drops a loading job.

  • Fixed an issue where installation for a query that inserts a vertex/edge with a DATETIME attribute would fail.

  • Fixed an issue where S3 loaders created in GraphStudio do not self-delete after loading sample data.

  • Fixed an issue where /requesttoken generates invalid tokens if the RESTPP service is down on a node in a cluster.

  • Fixed an issue where GBAR restore would cause GPE config file permissions to change in rare cases.

  • Fixed an issue where the built-in queries such as searchvertex could cause out-of-memory issues.

  • Fixed an issue in GraphStudio where adding a data mapping with a filter could delete all previously established mappings.

  • Increased restrictiveness of file permissions for snapshot files.

  • Fixed an issue where requests to GSQL endpoints would return an error if the request also included setting cookies.

Fixed in 3.6.1

TigerGraph Server 3.6.1 was released on July 7th, 2022.

  • Fixed an issue where high-frequency schema changes can cause GPE dysfunction in rare cases.

  • Fixed an issue in GraphStudio that caused the data mapping arrow between the file icon and an edge type to disappear in some cases.

  • Fixed an issue where certain internal API endpoints did not properly authenticate incoming requests.

Fixed in 3.6.0

  • Fixed a bug that caused issues reading the attributes of a vertex after cluster expansion if the vertex type had deleted attributes.

  • Fixed an issue that caused Graph Processing Engine (GPE) dysfunction in rare cases during concurrent read and write operations on the same vertex and its connected edges during data loading.

  • Fixed an issue that delayed the display of loading status on Load Data page in GraphStudio.

  • Fixed an issue where v.getAttr() function could cause GPE dysfunction if it is provided the wrong type.

  • Fixed an issue where if a Kafka topic only has one message, it cannot be consumed.

  • Fixed an issue with Graph Storage Engine (GSE) leader election that caused GSE dysfunction.

  • Fixed an issue that prevented GraphStudio from accepting a SET<VERTEX> type parameter if the size of the parameter is greater than 10.

  • Fixed an issue that could cause a query written in GSQL syntax V2 that uses a POST-ACCUM clause without an ACCUM clause to produce wrong results in rare cases.

  • Fixed an issue that could cause a query written in GSQL syntax v2 that uses multiple POST-ACCUM clauses that refer to the source vertex alias to produce wrong results in rare cases.

  • Fixed an issue that resulted in SHOW LOADING STATUS ALL command showing inaccurate loading job status when an instance has multiple graphs.

  • Fixed an issue that caused KAFKACONN out-of-memory (OOM) issue when loading large datasets through the data streaming connector.

  • Fixed an issue that affected the high availability (HA) of the application server on Elastic Kubernetes Service (EKS).

  • Removed inaccurate loading metrics from the Load Data page in GraphStudio.

  • When a user tries to edit an inferred vertex from returned edges in GraphStudio’s visualized query results, they will now see a warning to modify their queries to return the vertices to be able to edit the vertices.

Deprecation warnings

  • The -OPTIMIZE flag for INSTALL QUERY is deprecated and is planned to be dropped in the 3.7 release.

Known Issues

Compatibility with TigerGraph 3.4

  • A single POST-ACCUM clause can no longer reference more than one vertex alias in Syntax V1.

  • GET /requesttoken endpoint is dropped. Please use POST /requesttoken to request authentication tokens instead.

    • Using request body to store credentials is more secure than using query string. If you have a create a token request that puts the credentials in the query string, all you need to do is use the POST endpoint and move your credentials to the request body.

  • GET /gsqlserver/gsql/queryinfo endpoint on port 14240 now returns the query input parameters in the same order as they are in the query instead of an unordered list.

  • Deploying TigerGraph in Kubernetes now requires more service account permissions than previous versions. For details, see Prerequisites section in Quickstart with GKE, Quickstart with AKS, and Quickstart with EKS.

Compatibility with TigerGraph 3.1

The following changes were made to the built-in roles in TigerGraph’s Role-based Access Control

  • The built-in role queryreader can no longer run queries that include updates to the database.

    • To emulate the old queryreader role, create a role with all queryreader privileges, and also grant the WRITE_DATA privilege to the new role.

  • The built-in role admin can no longer create users

    • To emulate the old admin role, create a global role with all admin privileges, and also grant the WRITE_USER privilege to the new role.

  • To learn more about role management and the privileges of built-in roles, see:

Compatibility with TigerGraph 2

Major revisions (e.g., from TigerGraph 2 to TigerGraph 3) are the opportunity to deliver significant improvements. While we make every effort to maintain backward compatibility, in selected cases APIs have changed or deprecated features have been dropped, in order to advance the overall product.

Data migration: A tool is available to migrate the data in TigerGraph 2.6 to TigerGraph 3.0. Please contact TigerGraph Support for assistance.

Query and API compatibility:

V3.0 Removal of Previously Deprecated Features

TigerGraph 2.x contained some features which were labeled as deprecated. These features are no longer necessary because they have been superseded already by improved approaches for using the TigerGraph platform.

The new approaches were developed because they use more consistent grammar, are more extensible, or offer higher performance. Therefore, TigerGraph 3.0 and above has streamlined the product by removing support for some of these deprecated features, listed below:

Data Types

Deprecated type Alternate approach

REAL

Use FLOAT or DOUBLE

INT_SET

Use SET<INT>

INT_LIST

Use LIST<INT>

STRING_SET_COMPRESS

Use SET<STRING COMPRESS>

STRING_LIST_CONPRESS

Use LIST<STRING COMPRESS>

UINT_SET

Use SET<INT>

UINT32_UINT32_KV_LIST

Use MAP<UINT, UINT>

INT32_INT32_KV_LIST

Use MAP<INT, INT>

UINT32_UDT_KV_LIST

Use MAP<UINT, UDT_type>, where UDT_type is a user-defined tuple type

INT32_UDT_KV_LIST

Use MAP<INT, UDT_type>, where UDT_type is a user-defined tuple type

Syntax for Control Flow Statements

Deprecated statement Alternate statement

FOREACH …​ DO …​ DONE

FOREACH…​ DO…​ END

FOREACH (condition) {
    body
}
FOREACH condition DO
    body
END
IF (condition) {
    body1
}
else {
    body2
}
IF condition THEN
    body1
ELSE
    body2
END
WHILE (condition) {
    body
}
WHILE condition DO
    body
END

Vertex set variable declaration

If a vertex type is specified, the vertex type must be within parentheses.

Deprecated Statement Alternate Statement

MySet Person = …​

MySet (Person) = …​

Query, Job, and Token Management

Deprecated operation Header 2

CREATE JOB

Job types need to be specified:

  • CREATE LOADING JOB

  • CREATE SCHEMA_CHANGE JOB

  • CREATE GLOBAL SCHEMA_CHANGE JOB

RUN JOB

Job types need to be specified:

  • RUN LOADING JOB

  • RUN SCHEMA_CHANGE JOB

  • RUN GLOBAL SCHEMA_CHANGE JOB

CREATE / SHOW/ REFRESH TOKEN

To create a token, use the REST endpoint GET /requesttoken.

offline2online

The offline loading job mode was discontinued in v2.0. Do not write loading jobs using this syntax.

Output

Deprecated Syntax Alternate Syntax

JSON API v1

v2 has been the default JSON format since TigerGraph 1.1. No alternate JSON version will be available.

PRINT …​ TO_CSV [filepath]

Define a file object, then PRINT …​ TO_CSV [file_object]

Built-in Queries

Deprecated statement Alternate statement

SELECT count() FROM …​

  • SELECT approx_count(*) FROM …​

    • May not include all the latest data updates

  • SELECT count(*) FROM …​

    • exact, but slower than approx_count(*)


1. Features in the preview stage should not be used for production purposes. General Availability (GA) versions of the feature will be available in a later release.