Release Notes
TigerGraph Server 3.7.0 was released on Sep 15th, 2022.
Known Issues were updated on June 25, 2023.
This is a Feature Preview version. |
Preview versions are intended to let users try out early versions of upcoming features and for TigerGraph to gather feedback. Preview versions are not covered by the TigerGraph Software Support Policy.
New Features
The following is a list of new features and improvements:
Developer tools
-
Introduced GSQL Shell, a web-based version of the GSQL client that allows you to run GSQL commands from your browser with keyboard shortcuts and autocomplete.
-
Introduced TigerGraph Suite, a family of applications including GraphStudio, Admin Portal, GSQL Shell, and GraphQL Service to empower your graph journey.
Elasticity
-
Added the ability to launch on-demand elastic clusters for on-prem instances (Preview).
Manageability
-
Improved the stability and performance of backup and restore, and added a new API for backing up and restoring database clusters.
-
The legacy Graph Backup and Restore(GBAR) tool remains available.
-
-
Added Debian 10 & 11 to the list of supported operating systems.
-
Added the ability to expand, shrink and upgrade a TigerGraph instance running in a Kubernetes cluster.
-
Added support for AWS Elastic Kubernetes Service (EKS) to the Kubernetes Operator.
-
Expanded metrics available at a glance through Admin Portal.
-
Enhanced ease of use by enabling drag-and-drop data mapping in GraphStudio and in-browser JSON file upload.
-
Added new Actions page in the GraphStudio GUI for easy, secure commands to clear and rebuild graph data.
Security
-
Enhanced the role-based access control system to allow data CRUD privileges to be granted at the type and attribute level (Preview).
-
Local roles are deprecated as of the 3.7 release and will be dropped in a future version.
-
-
Added the ability to enable a password policy to mandate the minimal complexity of passwords.
-
TigerGraph Server download packages are now signed with our PGP key.
Stability
-
Added protection from out-of-memory issues caused by a high number of concurrent resource-intensive built-in queries with the
RESTPP.WorkLoadManager.MaxHeavyBuiltinQueries
parameter.
Ecosystem integration
-
Added the ability to stream data from Azure Blob Storage to a Data Streaming Connector.
-
Added the ability to stream data from AWS S3 to Data Streaming Connector.
-
Deleting a Data Streaming Connector now deletes the data in the topics created by the connector that haven’t been loaded into the database by a loading job.
Observability
-
Improved logging for privilege checks. Every time a user performs an action that requires any privilege, a detailed log of the action and the user is generated.
-
You must enable authentication for privilege checking to happen.
-
-
GSQL command to display loading job status (
SHOW LOADING STATUS
) now supports all loading jobs, including loading jobs created with Data Streaming Connector and Kafka Loader.
Query Language Enhancement
-
Token functions for attribute expressions can now also be used in expressions in the
WHERE
clause.
Fixed issues
-
Fixed a number of security vulnerabilities from package dependencies.
-
Improved error messaging when a query uses
TYPEDEF TUPLE
with an unsupported data type. -
Fixed an issue where unauthorized users could access certain local files on the server through a REST endpoint.
-
Fixed an issue where running multiple resource-intensive queries simultaneously would cause GPE dysfunction due to critical memory level handling.
-
Improved error messaging when query installation fails because certain services are not in ready state.
-
Fixed an issue that caused users to be unable to terminal an S3 loading job if the loading job did not use end-of-file mode.
-
Made folder permissions more restrictive after cluster expansion and shrinking.
-
Fixed an issue where creating a secret in a primary cluster could cause sync to stop.
-
Fixed an issue that caused restoring a cluster to fail when the backup file is on S3.
-
Fixed an issue where a heap accumulators (HeapAccum) might not be sorted when output in a group-by accumulator (GroupByAccum).
-
Fixed an issue that caused file permissions to be incorrect after cluster resizing.
-
Fixed an issue that caused imbalanced distribution of Kafka data when a cluster has a replication factor of two.
-
Fixed an issue where the
POST /requesttoken
endpoint did not returnContent-Type
. -
Fixed an issue that caused RESTPP dysfunction when it received a bearer token that was too short.
-
Fixed an issue where the database did not properly authorize requests made from JDBC driver.
-
Fixed an issue where GraphStudio data mapping would not detect disallowed data mapping to user-defined tuple (UDT) types.
-
Fixed an issue where SumAccum in GroupByAccum cannot be converted to a MaxAccum directly
-
Fixed an issue where loading large files through Data Streaming Connector might cause out-of-memory issues.
-
Fixed an issue where loading jobs created with the Kafka loader could not show accurate progress in GraphStudio data loading.
-
Fixed an issue where query installation in GraphStudio failed entirely if one of the queries being installed contains errors, instead of allowing valid queries to continue installation.
-
Fixed an issue where the function
instr()
could not accept certain special characters as substring arguments.
Dropped feature
-
The
-OPTIMIZE
flag forINSTALL QUERY
was deprecated in 3.5 and is dropped in this 3.7 release.
Known Issues
In version | Description | Status |
---|---|---|
3.7.0 |
If you used a default-width INT or UINT in a user-defined type (UDT) prior to version 3.7, the standard upgrade process will not import your pre-3.7 UDT data correctly. |
Unresolved |
3.7.0 |
Running a query that returns results that are too large in size may cause GraphStudio to become unresponsive. |
Unresolved |
3.7.0 |
Running a query that calls the |
Unresolved |
3.7.0 |
When a solution is exported, the key and secret used to authenticate a connector to AWS S3 are not encrypted in the exported file. |
Unresolved |
3.7.0 |
Creating a query that has too many hops and requires intensive semantic checking could cause the GSQL client to become unresponsive. |
Unresolved |
3.7.0 |
Renaming a vertex type revokes privileges granted on the vertex type. |
Unresolved |
3.7.0 |
Query user-defined functions cannot be synced to a DR cluster in cross-region replication. |
Unresolved |
3.7.0 |
Frequent backups of large volumes of data could lead to failure during a backup. |
Unresolved |
3.7.0 |
If a graph on an instance contains a loading job that uses |
Unresolved |
3.7.0 |
Calling |
Unresolved |
3.7.0 |
When vertices are automatically created during edge loading, the primary key of the vertices created are not written to vertex attributes. |
Unresolved |
3.7.0 |
Calling the |
Unresolved |
3.5.0 to 3.7.0 |
If |
Unresolved |
For a list of known issues for GraphStudio and Admin Portal, please see Known issues for GraphStudio and Known issues for Admin Portal.
Compatibility with TigerGraph 3.6
-
The default width of INT or UINT fields in a user-defined tuple (UDT) has changed from 4 bytes to 8 bytes, to be consistent with standalone INT attributes.
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 usePOST /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 allqueryreader
privileges, and also grant theWRITE_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 alladmin
privileges, and also grant theWRITE_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:
-
Some gadmin syntax has changed. Notably.
gadmin set config
is nowgadmin config set
. Please see Managing with gadmin. -
Some features which were previously deprecated have been dropped. Please see V3.0 Removal of Previously Deprecated Features for a detailed list.
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 |
---|---|
|
Use |
|
Use |
|
Use |
|
Use |
|
Use |
|
Use |
|
Use |
|
Use |
|
Use |
|
Use |
Syntax for Control Flow Statements
Deprecated statement | Alternate statement |
---|---|
|
|
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 |
---|---|
|
|
Query, Job, and Token Management
Deprecated operation | Header 2 |
---|---|
|
Job types need to be specified:
|
|
Job types need to be specified:
|
|
To create a token, use the REST endpoint GET /requesttoken. |
|
The offline loading job mode was discontinued in v2.0. Do not write loading jobs using this syntax. |
Output
See PRINT Statement
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. |
|
Define a file object, then |