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 has streamlined the product by removing support for some of these deprecated features, listed below:
See Data Types in GSQL Language Reference
See Control Flow Statements in GSQL Language Reference
See Vertex Set Variable Declaration and Assignment
If a vertex type is specified, the vertex type must be within parentheses.
These are documented in several places throughout the GSQL Language Reference:
See PRINT Statement in 'Output Statements and File Objects'
See Run Built-in Queries in 'GSQL 101'
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
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
Deprecated Statement
Alternate Statement
MySet Person = ...
MySet (Person) = ...
Deprecated Operation
Alternate Operation
CREATE JOB [loading job definition]
CREATE LOADING JOB [loading job definition]
RUN JOB [for loading and schema change jobs]
Specify the job type:
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.
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]
Deprecated Statement
Alternate Statement
SELECT count() FROM ...
// count may be out of date
SELECT approx_count(*) FROM ...
// same behavior as count(); may not include all the latest data updates
SELECT count(*) FROM ...
// exact, but slower than approx_count(*)
This page will document all the changes to TigerGraph product including New Features and Bug Fixes.
Distributed Graph support and certain other enterprise-level features are available in the Enterprise Edition only. They do not pertain to the Developer Edition.
07/02/20 RESTPP Built-in Endpoints - Corrected the URL for the GET Schema REST endpoint
07/02/20 Vertex Functions - Clarified the behavior of outdegree()
Release Date: 2020-11-11
Database Server
Audit Logging Enhancements
User information for all requests.
Request Status (request succeeded or failed) for all requests irrespective of access mode
Remove Hard timeout limit for Backup/Restore operations
Database Server
Platform: Resolve the issues where Kafka start-up will hang in certain OS and shell environment.
Platform: Backup/Restore hangs if there are too many files
Platform: Backup/Restore list error when backup files on S3 are corrupted
Engine: Builtin query running background blocks schema change
GSQL: Fix for SSL certificate exception
Release Date: 2021-01-15
Database Server
GSE/GPE segment consistency check utility
Integration with GSE/GPE consistency check utility with Backup/Restore
Increase in refresh timeout for RESTPP from 20 to 60 seconds;
Database Server
GSE replica synchronization for Zookeeper errors
Explicitly check replica follower status before automatic promotion to leader is allowed
RESTPP fix - memory leaks caused by timed out queries
Backup/Restore: Ensure GPE and GSE snapshots are done in correct order
Release Date: 2020-11-02
Database Server
Allow RESTPP to manage log files based on timestamp
Upgrade NGINX to 1.18 version
Correct status code to indicate GSQL operation result
Remove Hard timeout limit for Backup/Restore operations
Token Management Improvements:
Improve GSQL stability by setting a limit on number of tokens allowed
Logging improvement to indicate new and refreshed tokens separately
Database Server
Core: GSE follower replicas lag leader replica on the data updates
Core: Shuffle abort causing GPE crash
Core: Handle un-released lock gracefully during json print command failure
Core: Incremental Snapshot triggers creation of all segments causing delays
Core: Kafka loading fails when number of loaders exceed 10
GSQL: Query Install fails for batch installs
Backup/Restore hangs if there are too many files
Release Date: 2020-09-05
New features and described in 3.0.5 Release notes.
Database Server
Longer timeout for retrieving enum maps when using STRING COMPRESS
Socket timeout adjustment to improve RESTPP stability
Implement SetAccum<vertex> as bitset
Semantic check for println of File object for compiled query
Installer improvements
Enhancement to change the user and group separately.
Check permission of parent dir of App/Temp/Data/Log Roots
TigerGraph 2.x to 3.x Migration tool enhancements
Support for copying UDFs and other functions during migration
Enhanced license support for Cloud deployments
Enhanced upgrade version checking
Zookeeper client connection retry mechanism to avoid Zookeeper operation failures
Installer Configuration JSON format
Install Configuration is separated into basic configuration and advanced configuration sections
Support for allowing replication factor to be set during installation as opposed to limited HA on/off setting previously
Database Server
Core: GPE down during Backup for large number of files
Core: GPE will crash if the data comes from a machine without relevant metadata.
Core: Query failure due to string overflow
Core: Query with large UDF job didn't stop for configured time out setting
Platform: Kafka loading bug when number of loaders exceeds 10
Platform: Backup hangs when there are very large number of files in Graph Store
Platform: Backup reports successful operation even if it's actually incomplete
Platform: gadmin reset does not reset all files
GSQL: V2 syntax removes edge type that is excluded by Accum clause.
GSQL: Force query install should regenerate the endpoints
GSQL: Loading Job failed with SSL enabled
GSQL: Query installation performance issue for V2 syntax
GSQL: ArrayAccum value is not accessible in the ACCUM block when query is installed in distributed mode.
GSQL: Dictionary Fails when Tokens are too many
GSQL: Query installation fails due to schema change
GSQL: gsql_client strips out newlines when writing gsql queries by pasting into gsql shell
GraphStudio
Apply previous visualization result should handle empty saved schema
Displaying attribute for raw type in visualization should not use JSON stringify
Remove clear text user password in error log for migration from RDBMS to Graph
Release Date: 2020-06-30
New and modified features and described in the TigerGraph 3.0 Release Notes.
Support for reload libudf command
Schema validation before apply settings
Relax Developer Edition restrictions
YAML parsing support for edge pairs
Support SPLIT for UDT loading, Load From/To Type from File
Data generator 2.0
Change log level by SIGUSER1, avoid unnecessary error log
Restpp self-report status
Allow users to remove data for reinstallation
Upgrade kafka to 2.3.0
Path pattern optimization with pattern flipping and PER clause
Combine service status and processState into one log event
Support validation of entry value during gadmin config set command
Add strong check for symlinks
Support to_datetime builtin function in expressions
Support string set filter for edge and target vertex
Support local vertex and edge with same name in multiple graphs
Index hint for interpret mode
Support string compress attributes in built-in Query filters
Enable jemalloc profiling
Utility function to get disk free percentage
Allow concurrent user query access during Query Installation
Support multiple-pair edge type
Schema change job for add/drop attribute index
Improved clear graph warning
New layout for logo and multiple graphs
Allow user edit header for sample data
Support multiple files upload
Cancel autofit for adding vertex and double click actions
Cancel auto login if user has logged out
Save JSON format of query result to local storage
Create Edge Type from Multiple Vertex Types to Multiple Vertex Types
Add on-demand heap profiling for jemalloc
Delete legacy ids data
Periodically force Jemalloc release memory to OS / on demand profiling
Change debug log in convertids into verbose
Print warning but no assert in ZMQ
Wrong JSON format for tempTables
Fix wrong check for loading job completion
Allow interpret query to recognize html encoded string constant
Handle logical type in json converter
Corrected URL decode for whitespace character
Add time before delete edges command to ensure rebuild has enough time to complete
Fix remove session bug for the aborted handler after 'ctrl + c'
Synchronize concurrent install queries
Change logic to check service status for cluster mode
Support the ‘=‘ operator SumAccum;
Drop vertex/edge/graph when there are local and global vertex/edge have the same name;
Support removing a SetAccum from another SetAccum;
Remove the reversed edge too when removing an edge;
Cannot create query due to the overflow of the size of the HeapAccum;
Query referred as subquery from interpreted mode query can not be dropped;
Index out of bound when ignoring the parameter checking for interpret query
Output error message for invalid job id
Fix codegen to insert a vertex/edge without attributes
Support file regexp in checking header of filename
Support the true value of key word header and transaction in the loading data job to be case-insensitive
Dedupe proxy user's own roles from groups
Make schema change metadata modification a transaction
Fix builtin k_step expansion query bug
Check disk space before exporting each vertex/edge type
Allowed non-English string constants in interpreted queries
Edge variable prints attribute by default
Print developer information only in gadmin status
Restrict symlinks and check their existence
Fix error message for new secret creation
Refactor keywords
Do not emit explorer config if saved exploration doesn't have it
Check for Valid date time
Extend wait time for progress bar finish
Add right border for side navigation
Upgrade color-picker
Fix check accumulator format
Fix percentage of performing schema change
Run interpreted query through websocket
Release Date 2020-08-21
Improved handling of query time outs for distributed queries.
Longer timeout for retrieving large memory map for attributes of STRING COMPRESS data type with large number of distinct values.
Backup jobs report incorrect successful runs
Incorrect type check logic for trim function;
Release Date 2020-08-14
Improvements to GSE Upsert performance
Add User Id information to RESTPP logs for all user initiated calls
Improvements to Query Installation performance time
Provide warning message when revoking a role from proxy user if needed
Core: GPE crash on unknown vertex / segment
Core: PostWriter needs to skip vertices if the internal vertex id is invalid one.
Core: Handle exception in ResponseThread of RemoteTopology
Core: Query re-installation issue caused by non-deterministic transformation
Core: Address Data Loading speed for hub loading
Core: Inconsistent result with and without using local accumulators
Core: RestPP payload scale issue due to 3rd party FCGI library
GSQL: GSQL pattern match - translation error when vertex type is the keyword "ANY"
GSQL: Issue with reduce function with Bitwise OR operator in the LOAD functions
GSQL: gsql_client strips out newlines when writing gsql queries by pasting into gsql shell
GSQL: Secrets and token associated with a graph and not removed during graph delete
GraphStudio: Displaying attribute for raw type in visualization should not use JSON stringify method
Release Date 2020-06-12
Allow concurrent user query access during Query Installation
GPE & GSE Data Sync Check Utility
Use of POST for /requesttoken API so that user password is not exposed
Write Performance improvements
Error handling and reporting improvements for Query Timeout and Failures
UX improvement for ‘Clear Graph’ command in GraphStudio
Ensure cleanup and compaction of delta records in a large transaction even in the event of TigerGraph service restart
Performance improvement to make Graph Updates faster by parallelizing and sharing transaction
Fix for the leftover Shuffle threads after Query Abort/Timeout
Change in the error message of AbortQuery request inside the Shuffle Operator
Bug fixes for GSE compaction feature to address exporting with mixed segments of data and load data from the database in worker mode
Fix for GSE crash triggered by schema change
Enable background thread on JEMALLOC for memory cleanup even when system is idle
/showprocesslist and /abortquery APIs do not list the running queries of old worker if RESTPP is refreshed
S3 loader header check doesn't apply file filter regex
GSQL V2 syntax does not handle ACCUM operator correctly
Fix for RESTPP timeout error
Release Date 2020-04-24
New and modified features and described in the TigerGraph 2.6 Release Notes.
Remove SSH connection use dependency for GSQL Install Query command
New 'force' parameter to RebuildNow so that engine to start the rebuild.
Core: GSE crash in HA setup when CPU usage is extremely high
Core: Out Of Memory handling improvements to prevent GPE crash due bad memory allocation call
GLE: fix builtin query crash in worker due to graph id missing
Core: Skewed CPU usage for high-query throughput scenarios
Fixes in Rebuild to address broken edge count
Fix for 2.5.2 bug - Inconsistent query results when running non-distributed query on a cluster
Unable to find local vertex and edge with same name in multiple graphs
RESTPP memory leak due to yaml file
Reverse edge id is wrong when two local edges with reverse edge are created with same name
Release Date: 2020-04-24
New 'force' parameter to RebuildNow so that engine to start the rebuild.
Improved version of /abortquery so that query can be aborted more quickly
Fixes in Rebuild to address broken edge count
RESTPP memory leak due to yaml file
Builtin query crashed due to missing Graph Id
RESTPP crash for same vertex name in the global graph
Resolved the distributed query hanging issue which could block rebuild and schema change
Core: Skewed CPU usage for high-query throughput scenarios
Release Date: 2020-02-26
Ensure catalog data backed up before schema change
Support creation of two local edges with same name with one being a reverse edge
Support Local vertex and edge type with same name in multiple graphs in
Support for multi-lingual string constant in Interpret query mode
Upgrade to Release 2.5.2 leads to inconsistent query results
Compute resource usage spikes on particular node in cluster
GCleanUp failed to cleanup all pointers when adjusting thread
Release Date: 2020-01-27
TigerGraph 2.5.2 is not compatible with versions prior to 2.5.1. Customers who are using Pre-2.5.1 version and intending to migrate to 2.5.2 are advised to take backup of their existing version before upgrading to 2.5.2. This will enable them to downgrade back to the original Pre-2.5.1 version if nee
GPE: Increase MemoryCheck frequency based on Resource Usage
GPE: Abort Query if Memory usage crosses critical threshold
GSE: Support Log compaction as part of startup for GSE
GraphStudio: Support Multi-edge pair in design schema.
Core: Support OS RHEL 8.0 in Installer
REST: Increase the RESTPP reload timeout
GSQL: Change error message to specify user when default tigergraph user is dropped
GSQL: Make user tigergraph droppable
GraphStudio: Do not change layout when adding/updating/deleting vertex and edge
Core: GPE crashed running distributed LDBC query
GST: Incorrect vertex count in TigerGraph GraphStudio
Core: Shuffle deadlock causing full system memory use
Core: Replace GASSERT with GWARN in GDataBox
Core: BATCH_SIZE of Kafka loader set from GSQL console doesn't work
GPE: Schema Change failed due to Query Install OOM
GSQL: Quote in string key is not escaped
GraphStudio: Reverse edge filter doesn't work
Core: Don't display LDAP password in IUM
Release Date: 2019-11-25
Core: Distributed delete affects data consistency after GPE restart
Core: Shuffle hangs when sendingQueue is full
Core: Longevity test failing due to change in memory allocator (TCMalloc)
GPE: Crash after upgrade from 2.4.1 to 2.5
GPE: Serialization error when reading from input stream
GPE: Query state can result in race condition inside ReadOneDelta;
GPE: GPE crashes when a query calls a sub-query with a write operation
GSE: Script to resolve delete inconsistency between GSE and GPE
GSE: Multiple Kafka loading jobs fail
GSQL: Built-in function names in GSQL are case sensitive
GSQL: Interpret query doesn't work when authentication is on
GSQL: Deadlock when graph store is being cleared and authentication is on
GSQL: Token authentication returning null during Global schema change
GSQL: SSO login failure due to missing org.apache.santuario:xmlsec library
GraphStudio: Vertex to edge expansion settings are not retained
GBAR Backup: Backup failure if loading jobs are in progress
Release Date 2019-09-18
New and modified features and described in the TigerGraph 2.5 Release Notes.
Improvements to fix possible crash, deadlock, overflow, and memory leak situations
Improve query performance stability
Fix some query string passing and parsing issues
Correct some inconsistencies between the documented specification and actual behavior
Improve robustness of Kakfa and S3 Loaders
Clean up files and graph properly after certain failed operations
Fix some installation issues
Release Date 2019-07-23
To select pattern matching support in a query, the syntax is now
CREATE QUERY ... SYNTAX v2
instead of
CREATE QUERY ... SYNTAX("v2")
GPE: Fix uint32 overflow
Loader: Allow temp_table to be used without flatten function
IDS: Disable empty UID
ZMQ: Fix crash on ill-formed message
Util: Fix Unix domain socket file not generated correctly in cron job
Util: Extend data size for GoutputStreamBuffer beyond 4GB
Connector: Fix first line is not ignored with has_header enabled
Connector: Fix failures on retrieving connector status
GSQL: Fix syntax version setting inconsistency issues
GSQL: Fix schema change with USING primary_id_as_attribute
GSQL: Fix JSON output format of requesttoken API
Admin Portal: Display correct counts of physical vertices and edges on each machine
Release Date 2019-06-25
See Release Notes - TigerGraph 2.4
GSQL: The built-in count() function gives the correct value in all cases.
GPE: startup hang
GSQL server start/stop command not working
LDAP config truncated by space
GSE: boolean values are not displayed correctly
Security issue CVE-2013-7459 caused by unused python crypto library
IUM status is displayed incorrectly in some cases;
Release Date 2019-04-01
GSQL: The built-in count() function may give the incorrect value for clustered systems after some vertices have been deleted.
GraphStudio: Send query pre-install dependency analysis result through WebSocket
GraphStudio: filter out improper attributes in when building filter expressions
GPE: fix wrong enumerator id issue
GPE: avoid using /tmp
GPE: handle exceptions for LIKE <expr>
GPE: Fix crash due to writing wrong size of STRING_LIST
GPE: Fix global schema change error which added local vertex twice
GSE (Developer Edition): Keep one copy of segment
Release Date 2019-02-19
See Release Notes-TigerGraph 2.3
GSQL: The built-in count() function may give the incorrect value for clustered systems after some vertices have been deleted.
Install: The IP list fetched by the installer could be incomplete.
Loading: Speed up batch-delta loading.
GraphStudio: Disable Install Query button for queryreader users.
GraphStudio: Re-initialize the database after import.
GraphStudio: Could not drop query with non-default username/password.
AdminPortal: Queries-Per-Second display didn't work if RESTPP authorization was enabled.
Schema change: Improve schema change stability by reducing schema change history and increasing gRPC max message limit.
GPE: Improve query HA stability.
GPE: Fix crash under certain conditions.
Core: Memory leak due to yamlcpp.
Core: compatibility issue between libc and ssh utility.
IUM: Fix exceptions due to legacy config entries.
Release Date: 2018-12-13
Distributed System: Fix possible deadlock and race conditions
GSE Storage Engine: Fix disk seek overflow
RESTPP: Optimize the memory consumption when system is idle
RESTPP: Optimize config reload time
GSQL: Fix query installation error with option -optimize
GSQL: Fix a code generation bug related to static variable
GSQL: Fix a compilation error when a statement is in nested if statement
GraphStudio: Security update for npm-run-all
GraphStudio: Change Help button to point to new docs.tigergraph.com site
Gadmin: Fix gadmin/ts3 restart and status error after changing port of TS3
Release Date: 2018-11-30
GraphStudio: Fix schema change bug (Note: In 2.2, GraphStudio now does not drop all data when making a schema change.)
GraphStudio: Fix display issue in Graph Explore when switch to a new graph
GraphStudio: Improve password security
GraphStudio: Modify URL to AdminPortal for better universal support
IUM: Fix kafka-loader configuration after cluster expansion
IUM: Resolve python module name conflict
IUM: Fix ssh_port is always 1 under bash interactive mode
GSE Storage Engine: Reduce memory consumption
RESTPP: Improve logging messages
Release Date: 2018-11-05
See Release Notes-TigerGraph 2.2
GraphStudio: When both a query draft and an installed query exist, Export Solution will keep the installed query code instead of the query draft
Admin Portal: Number of nodes in the cluster is reported as 0 when no graph yet exists
Release Date: 2018-11-05
GBAR Backup fails if HA is enabled
GSE status shows unknown with HA enabled
TS3 fails to collect QPS when RESTPP Authentication is enabled (Admin Portal QPS monitor will be unavailable in this case).
GraphStudio: When both a query draft and an installed query exist, Export Solution will keep the installed query code instead of the query draft.
Admin Portal: Number of cluster nodes is reported as 0 when no graph exists.
GSQL server error if schema is too large
In a cluster, not all servers may be aware of deleted vertices.
PAM limit set-up issue in installer
In MultiGraph, a local (FROM *, TO *) local edge has global side effects.
RESTPP's default API version is not set after installation
An engine bug which occasionally causes crash
SSH port configuration in installer.
Installation script checks that the machine meets the minimum RAM (8GB) and CPU (2-core) requirements.
For Ubuntu 16.04/18.04, support logon with systemd service.
Release Date: 2018-08-20
GBAR backup fails if HA is enabled.
TS3 fails to collect QPS when RESTPP Authentication is enabled (Admin Portal QPS monitor will be unavailable in this case).
GraphStudio: When both a query draft and an installed query exist, Export Solution will keep the installed query code instead of the query draft.
Admin Portal: Number of cluster nodes is reported as 0 when no graph exists.
Cluster configuration with HA enabled is wrong if the number of nodes is odd (3, 5, 7, 9...).
GraphStudio and GSQL inconsistent checking for some keywords
GBAR backup and restore fail if special character is in tag name
Release Date: 2018-08-15
Cluster configuration with HA enabled is wrong if the number of nodes is odd (3, 5, 7, 9...).
GraphStudio: When both a query draft and an installed query exist, Export Solution will keep the installed query code instead of the query draft.
TS3 fails to collect QPS when RESTPP Authentication is enabled (Admin Portal QPS monitor will be unavailable in this case).
Admin Portal: Number of cluster nodes is reported as 0 when no graph exists.
GSQL null pointer exception during schema change if a directed edge is dropped but its partner reverse edge is kept.
Some complex attribute types cannot be correctly posted via /graph endpoint.
In some cases, tuple on reverse edge crashes GPE.
GraphStudio throws an authentication error if RESTPP authentication is enabled.
License level control of MultiGraph functionality.
Release Date: 2018-07-24
GSQL null pointer exception during schema change if a directed edge is dropped but its partner reverse edge is kept.
Some complex attribute types cannot be correctly posted via /graph endpoint.
In some cases, tuple on reverse edge crashes GPE.
GraphStudio Export package is occasionally incomplete.
GSE status is always "not ready" if schema is too large.
Cannot modify RESTPP port configuration.
IUM error in a cluster when not running on node m1