Release Notes
TigerGraph Server 3.8.0 was released on Nov 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 - TigerGraph Insights
-
Introduced TigerGraph Insights, an intuitive, no-code tool for building interactive graph analytics dashboards.
Developer tools - Machine Learning Workbench
-
Introduced a new TigerGraph Cloud integration with Machine Learning Workbench.
-
Launched a new dedicated Machine Learning Workbench starter kit with ready-to-use tutorial Jupyter notebooks.
Developer tools - GraphStudio
-
Added support for multiple edge instances between two vertices in GraphStudio.
-
Simplified the data loading workflow for adding data sources to a graph.
-
Added the ability to load data to a graph from Azure Blob Storage.
Developer tools - Graph Data Science Algorithm Library
-
Added Packaged Template Queries as a more streamlined way for developers to install and manage the GDS algorithm library.
-
Added the CALL command to run queries with just-in-time compilation, yielding higher performance.
-
Updated parameter names to be more consistent across algorithms.
-
Introduced versioning of the algorithm library to follow the database version.
Manageability
-
Added the ability to limit the number of concurrent built-in heavy queries as well as concurrent queries.
-
Added the functionality to restrict the amount of memory a query is allowed to use.
Query Language
-
Added support for multiple edge instances of the same type between two vertices.
-
Added the
DISCRIMINATOR
keyword to enable defining edge types that allow multiple edge instances between two vertices. -
GSQL no longer recognizes empty input for a query parameter of type
SET
to be an empty set; users must explicitly specify an empty set instead.-
In GSQL, use square brackets
[]
to specify an empty set. -
In an HTTP request, use square brackets
[]
in the request body of a POST request to specify an empty set. You can no longer specify an empty set using query strings in a GET request.
-
TYPE is a DDL reserved word. In particular, you may not use TYPE as a vertex or attribute property name.
|
Backup
-
Added support and a configuration parameter for a user-supplied s3-compatible storage endpoint, typically used when operating in a private network of with a non-AWS S3-compatible service.
Performance
-
Introduced the Query Optimizer as a preview feature, which performs cost-based optimization on queries based on pre-computed statistics.
Data API Service
-
Added support for endpoints that insert, retrieve, and delete edge instances to handle situations where there are multiple instances of an edge type between two vertices.
-
Added the
GET /showprocesslistall
endpoint, which lists all currently running queries on a node.
Security
-
Strengthened the security for the management of user-defined functions (UDF).
-
Sensitive information such as ACL passwords is now masked when entering passwords interactively.
-
All personally identifiable information in data source configuration when using the Kafka loader or Data Streaming Connector is now masked.
-
Added login protection and the ability for administrators to enable a password policy.
Ecosystem integration
-
Added the ability to query and stream data from Google Big Query to Data Streaming Connector.
-
Added the ability to configure how much memory Data Streaming Connectors are allowed to use through the
KafkaConnect.MaxMemorySizeMB
parameter. -
Added the ability to shrink or expand a cluster using the
kubectl tg update
command in Kubernetes.
Observability
-
Added the
/metrics
endpoint to report system metrics in OpenMetrics format. -
Added the ability to monitor queries through AdminPortal and view query performance over time.
-
Added the capability for the Graph Processing Engine (GPE) to log the highest memory usage of a query during its execution.
-
Improved messaging for errors caused by wrong configurations for a Kafka loading job.
Fixed issues
-
Fixed an issue that could cause cluster shrinking failure due to communication issues with the ETCD service.
-
Resolved several dependency vulnerabilities.
-
Fixed an issue that could cause the system to become unresponsive due to the executor service dysfunction.
-
Fixed an issue where exporting data with
\n
in its value might cause later imports to fail. -
Fixed an issue that caused imports to fail if any data source in the graph has the backslash escape character in its configuration.
-
Fixed an issue where a query that declares and initializes a datetime variable with an expression that uses a input parameter would cause a syntax error.
-
Fixed an issue where exceedingly long queries (over 1000 lines) take a long time to be created and installed.
-
Fixed an issue that caused GBAR backup to be unable to reach AWS S3 on a private network.
-
Fixed an issue where users cannot access the GraphQL service with database username/password credentials.
-
Fixed an issue that caused upgrades from versions earlier than 3.7 to fail.
-
Fixed an issue that could cause GPE dysfunction when calling a REST endpoint.
-
Fixed an issue that in rare cases produced inaccurate results when a query uses an
ACCUM
clause. -
Fixed an issue where S3 loading jobs cannot be terminated if it is not run in EOF mode.
-
Fixed an issue that led to inconsistent edge counts being reported across different replicas.
-
Fixed an issue where enabling verbose logging could cause GPE dysfunction.
Known issues
-
If
System.Backup.Local.Enable
is set totrue
, this also enables a daily full backup at 12:00am UTC -
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.
Compatibility Issues
-
TYPE
is a DDL reserved word. In particular, you may not useTYPE
as a vertex or attribute property name. -
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.