TIBCO® Release Notes Software Release 2.0.2 March 2020 2

Important Information

SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. ANY SOFTWARE ITEM IDENTIFIED AS THIRD PARTY LIBRARY IS AVAILABLE UNDER SEPARATE SOFTWARE LICENSE TERMS AND IS NOT PART OF A TIBCO PRODUCT. AS SUCH, THESE SOFTWARE ITEMS ARE NOT COVERED BY THE TERMS OF YOUR AGREEMENT WITH TIBCO, INCLUDING ANY TERMS CONCERNING SUPPORT, MAINTENANCE, WARRANTIES, AND INDEMNITIES. DOWNLOAD AND USE OF THESE ITEMS IS SOLELY AT YOUR OWN DISCRETION AND SUBJECT TO THE LICENSE TERMS APPLICABLE TO THEM. BY PROCEEDING TO DOWNLOAD, INSTALL OR USE ANY OF THESE ITEMS, YOU ACKNOWLEDGE THE FOREGOING DISTINCTIONS BETWEEN THESE ITEMS AND TIBCO PRODUCTS. This document is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIBCO, Two-Second Advantage, The Power of Now, TIB, Information Bus, Rendezvous, and TIBCO Rendezvous are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. Enterprise Java Beans (EJB), Java Platform Enterprise Edition (Java EE), Java 2 Platform Enterprise Edition (J2EE), and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the U.S. and other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only. This software may be available on multiple operating systems. However, not all platforms for a specific software version are released at the same time. Please see the readme.txt file for the availability of this software version on a specific operating system platform. THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME. THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES. This and other products of TIBCO Software Inc. may be covered by registered patents. Please refer to TIBCO's Virtual Patent Marking document (https://www.tibco.com/patents) for details.

TIBCO® Graph Database Release Notes 3

Copyright © 2016 - 2020. TIBCO Software Inc. All rights reserved.

TIBCO® Graph Database Release Notes 4

Contents

TIBCO Documentation and Support Services ...... 5 New Features ...... 6 Migration and Compatibility ...... 15 Known Issues ...... 17 Closed Issues ...... 21

TIBCO® Graph Database Release Notes 5

TIBCO Documentation and Support Services

How to Access TIBCO Documentation

Documentation for TIBCO products is available on the TIBCO Product Documentation website, mainly in HTML and PDF formats. The TIBCO Product Documentation website is updated frequently and is more current than any other documentation included with the product. To access the latest documentation, visit https:// docs.tibco.com. Documentation for TIBCO Graph Database is available on the TIBCO Graph Database Product Documentation Page.

Product-Specific Documentation

The following documents for this product can be found on the TIBCO Documentation site:

● TIBCO Graph Database Getting Started Guide

● TIBCO Graph Database Administration Guide

● TIBCO Graph Database Release Notes

How to Contact TIBCO Support

You can contact TIBCO Support in the following ways:

● For an overview of TIBCO Support, visit http://www.tibco.com/services/support.

● For accessing the Support Knowledge Base and getting personalized content about products you are interested in, visit the TIBCO Support portal at https://support.tibco.com.

● For creating a Support case, you must have a valid maintenance or support contract with TIBCO. You also need a user name and password to log in to https://support.tibco.com. If you do not have a user name, you can request one by clicking Register on the website.

How to Join TIBCO Community

TIBCO Community is the official channel for TIBCO customers, partners, and employee subject matter experts to share and access their collective experience. TIBCO Community offers access to Q&A forums, product wikis, and best practices. It also offers access to extensions, adapters, solution accelerators, and tools that extend and enable customers to gain full value from TIBCO products. In addition, users can submit and vote on feature requests from within the TIBCO Ideas Portal. For a free registration, go to https://community.tibco.com.

TIBCO® Graph Database Release Notes 6

New Features

The following is the list of new features added in the corresponding version of TIBCO Graph Database:

Release 2.0.2

Microsoft Azure The TIBCO Graph Database is now available on Microsoft Azure Marketplace.

● Launching Azure Virtual Machine After you subscribe to the TIBCO Graph Database, launch the Virtual Machine from the marketplace page and create a Virtual Machine instance from the Azure Portal.

The Virtual Machine provides the following artifacts/subdirectories in the directory: /home/ tibco/ tgdb/2.0:

● bin: contains TIBCO Graph Database runtime binaries.

● data: data directory for TIBCO Graph Database.

● lib: contains TIBCO Graph Database runtime libraries.

● examples: contains TIBCO Graph Database samples/examples and data. To ensure full functionality, make sure the following ports are open when initializing the Virtual Machine on the Azure Portal:

● Port 22 to enable SSH connections, to enable direct access of the Virtual Machine and all its included binaries to start the TIBCO Graph Database Server.

● Ports specified in the net listener section of tgdb.conf, to enable the TIBCO Graph Database Admin Client to connect to the TIBCO Graph Database Server on the Virtual Machine.

Gremlin Query Adding new features for the has step, data value parameters, and OR step on the Admin console .

● Added support for decimal values for the data value parameters in the has step. For example: g.V().has('cdi', 'cdiid', '172CDIREAY24').has('groupid', 2200.0);

● Added decimal value support for predicates within the has step. For example:

g.V().has('cdi', 'cdiid','172CDIREAY24').has('groupid', P.eq(2200.0)); g.V().has('cdi', 'cdiid','172CDIREAY24').has('groupid', P.neq(2200.0));

● Added P. Prefix support for predicates in the has step. For example:

g.V().has('airportType','country','India').has('airportID',P.eq(AIRPORT3017));

g.V().has('houseMemberType','yearBorn',P.gt(1912));

● Added support for spaces for data value parameters. For example:

g.V().has('airportType','country','India').has('airportName','Delhi International Airport');

● Added the following versions for the OR step:

1. Contained within the has step and combined with predicates. It can be linked with multiple or steps, for example:

g.V().has('basicnode','name',P.eq('test').or(P.eq('test2'))); g.V().has('basicnode','name',P.eq('test').or(P.eq('test2')).or(P.eq('test3')));

TIBCO® Graph Database Release Notes 7

g.V().has('basicnode','name',P.eq('test').or(P.eq('test2')).or(P.eq('test3')).o r(P.eq('test4'))); 2. As an Individual step, for example:

g.V().has('name','mark').or().has('name','test');

Gremlin Steps Adding new features for the has step, data value parameters, and OR step .

Server/Java Administration Step Syntax Client Tool

or or() N Y

or P.eq() or (P.eq()) Y Y

repeat repeat(traversal).times(numbe Y N r).has(...)

repeat(traversal).emit().time s(number)

group group.by(key) Y Y

group.by(key).by(value)

groupCount groupCount() Y Y

groupCount().by(attribute name)

Release 2.0.1

Admin API Support on Java Client Use Java Client APIs to communicate to the database server and retrieve the following information:

● Server Information

● Net Listeners information

● Memory information

● Transaction statistics

● Cache statistics

● Database statistics See Javadoc for more information on accessory APIs.

Security This release includes the following security features:

● Field-level encryption of node and edge attributes

● Attribute-type encryption

● Seamless decryption of fields in the server, and secure transmission of the data to the client

● Secured password storage using PBKDF2 and HMAC-SHA-256 hashing algorithms

TIBCO® Graph Database Release Notes 8

Admin This release includes the following Admin features:

● create user command optionally associates a user role Command Syntax:

create user passwd= [role=]

● SSL support Admin SSL client URL:

ssl://scott@localhost:8223/{dbName=;verifyDBName=true}

Gremlin This release includes the following Gremlin features:

● help command on Admin Console

help gremlin

● New steps

Step Syntax Note

in in()

out out()

both both() Both in and out.

inV inV()

outV outV()

bothV bothV() Both inV and outV.

inE inE()

outE outE()

bothE bothE() Both inE and outE.

by by() Use with path step only.

by(String)

has has(key,predicate) Predicates: inside, between, outside

TIBCO® Graph Database Release Notes 9

Step Syntax Note

path path()

sum sum()

min min()

max max()

mean mean()

simplepath simplepath() Use with path step only.

E E() Use immediately after GraphTraversalSource.

For example: g.E()

● Enhanced Java API

— executeQuery method enhancement

The executeQuery method in TGConnection now accepts query protocols ( tgql:// or gremlin:// ) as query prefixes. For example: gremlin://g.V().has('code', 'SFO').outE('route').inV().values('code');

— New connection property

The new tgdb.connection.defaultQueryLanguage connection property specifies the default query format for the connection. The default value is tgql.

Use gremlin:// with a gremlin style query. For more information on Gremlin, see: Tutorial https://kelvinlawrence.net/book/Gremlin-Graph-Guide.html Documentation http://tinkerpop.apache.org/docs/3.3.3/reference/

Release 2.0.0

Minimum Database Name Length Minimum database name length has changed from 8 characters to 3 characters.

SSL Communication Transport Layer Security (TLS) 1.2 protocol is now supported between clients and servers. To set up this protocol:

1. In the Java client, specify the following client URL: ssl://:/ {dbName=;verifyDBName=true;} for the connection string.

2. In the tgdb.conf file, turn on the SSL parameter (ssl = true) under the net listener section in the tgdb.conf file.

TIBCO® Graph Database Release Notes 10

3. In the initdb.conf file, specify the self-signed certificate creation parameters.

The database name must be at least 3 characters long.

Blob and Clob Attributes You can now define blob and clob attributes in the initdb.conf file and in the Administration console.

Data Type Conversion Implicit-type conversion now occurs at runtime when the client sends a data type that does not match the data type defined on the server.

Gremlin Traversal Language Queries now support Gremlin language steps, such as aggregation, sorting, projection, traversal, filters, and express complex traversals. Use the Java API-based client and the Administration console to run the Gremlin queries.

Steps supported in this release:

Server / Java Gremlin Steps Client Admin Console

V() Y Y

hasLabel(type) Y Y

has(type, attr, value) Y Y

has(type, attr, predicate) Y Y (Support for predicates lt, lte, gt, gte, eq, neq)

has(attr, value) Y Y

has(attr, predicate) Y Y (Support for predicates lt, lte, gt, gte, eq, neq)

values(...) Y Y

valueMap(...) Y Y

count() Y Y

pageRank() Y N

fold() Y Y

toList() Y Y

and(...) Y N

or(...) Y N

Example Gremlin queries on Admin Console: (with "routes" example) g.V().has('airportType','country','Aruba'); g.V().has('airportType','country','Aruba').count();

TIBCO® Graph Database Release Notes 11

Users can run gremlin queries similar to above examples based on the gremlin steps supported in this release. Predicates: eq, neq, gt, gte, lt, lte, inside, outside, between, and, or

Graphics Processing Unit (GPU) Gremlin queries now support calling the pageRank algorithm on a node set invoked on the GPU using Nvidia's CUDA graph analytics package nvGraph.

To get started with GPU:

1. Confirm that you have installed Nvidia's GPU Card with Pascal+ architecture set. 2. Install CUDA 9.0+ from https://developer.nvidia.com/cuda-downloads. 3. Follow the CUDA installation information for your operating system. 4. In addition:

● Linux: Specify the LD_LIBRARY_PATH to include the CUDA library.

● Windows: Specify the PATH to include the CUDA BIN directory.

● MacOS: Supply a link to the /usr/local/cuda/lib. Alternatively, use the following command to change the path: otool -L ./libtgcuda.dylib ../lib/libtgcuda.dylib (compatibility version 10.10.0, current version 10.10.0) @rpath/CUDA.framework/Versions/A/CUDA (compatibility version 1.0.0, current version 9.2.64) /usr/local/cuda/lib/libcudart.dylib (compatibility version 0.0.0, current version 9.2.64) /usr/local/cuda/lib/libcuda.dylib (compatibility version 1.1.0, current version 8.0.90) /usr/local/cuda/lib/libnvgraph.dylib (compatibility version 0.0.0, current version 9.2.64) ../lib/libtgcommon.dylib (compatibility version 2.0.0, current version 2.0.0) ../lib/libtgserver.dylib (compatibility version 2.0.0, current version 2.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2) Then run the following commands: install_name_tool -change /usr/local/cuda/lib/libcudart.dylib libtgcuda.dylib install_name_tool -change /usr/local/cuda/lib/libnvgraph.dylib libtgcuda.dylib

Amazon Web Services (AWS) The TIBCO Graph database is now on AWS Marketplace.

● Launching Single Amazon Machine Image (AMI) After you subscribe to the TIBCO Graph Database, launch the AMI from the marketplace page and create an EC2 instance from AMI.

The Single AMI provides the following artifacts/directories in the following directory: /home/ tibco/tgdb/

1. bin: Contains tgdb runtime artifacts.

2. docker: Contains the following TIBCO Graph Database Enterprise Edition Docker scripts and configuration files:

● createdocker-image.sh script, which creates TIBCO Graph Database Enterprise Edition base Docker image.

TIBCO® Graph Database Release Notes 12

● run-dockerimage.sh script, which runs the TIBCO Graph Database Enterprise Edition Docker image. The AMI comes pre-installed with docker and pre-built docker images for the TIBCO Graph Database.

3. data: A data directory for TIBCO Graph Database.

4. lib: TIBCO Graph Database runtime libraries.

5. examples: TIBCO Graph Database Sample examples and data.

● Running TIBCO Graph Database container application on Standalone EC2 To run a TIBCO Graph Database container application on a standalone EC2 instance using Single AMI:

1. Log in to the EC2 instance of the TIBCO Graph Database that was created during the Single AMI launch.

2. Navigate to the docker folder: cd /home/tibco/tgdb//docker.

3. Execute the run-docker-image.sh script. For example :

prompt#> PRODUCT_DIRECTORY=/home/tibco/tgdb VERSION=2.0 ./run-docker-image.sh -Y

● Running TIBCO Graph Database container application on Standalone EC2 Using User- Specified Configuration Files To specify external configuration files for running the database:

1. Set USER_CONFIG_DIRECTORY= while running the run-docker-image.sh script.

2. Set dbPath = /mnt/tibco/tgdb/data in the respective conf files as per variables.txt. For example:

prompt#> PRODUCT_DIRECTORY=/home/tibco/tgdb VERSION=2.0 USER_CONFIG_DIRECTORY=/ home/centos/conf ./run-docker-image.sh -Y

The initdb.conf and tgdb.conf files in the user-specified directory conf are specified.

Performance Optimization There are several performance optimizations:

● Define log level for components.

● Improved error management.

● Faster data import.

● Better memory management.

● Disk storage improvement.

Release 1.1.1

Fault Tolerance TIBCO Graph Database servers support fault-tolerant operation by configuring a pair of servers.

● Primary (one)

TIBCO® Graph Database Release Notes 13

● Secondary (one or more) On startup, the server that starts first turns into the active state and the other server turns into the standby state. The active server accepts client connections. If the active server fails, the next standby server becomes active and resumes the operation.

Release 1.1.0

Edge Type as First Class Relational Object An instance of an edge between two nodes of Type T. You can define the edge type in the initdb.conf file or the Administrative console. You can also query on the edge type. Traversal Queries Queries are enhanced to support conditions on edges so that the queries can traverse the graph till an end condition is reached. Import and Export You can export the data from the database to the CSV files and import the data from the CSV files in to the database. New Example New examples, import openflights data set and perform traversal queries, have been added to find out the routes between two airports. Simplified Packaging Simplified packaging as reusable shared libraries. New Administrative Commands The following new administration commands have been added:

● checkpoint server- Forces flush data to persist in the medium.

● dump server stack trace- Shows the current execution point of all the server threads, which is useful for debugging and monitoring deadlock situations.

● describe metadata- Shows the detailed information on the nodetype, edgetype, index, and the attribute descriptor.

● export and import- Exports data from the database or imports data in to the database.

● create edgetype- Defines the edgetype.

Docker Support The Linux distribution provides scripts to build the Docker image.

Release 1.0.0

Client/Server Architecture SEDA-based client/server architecture. C99-based server. Dynamic Schema Management Static and dynamic addition of attribute descriptors. Property Bag Models Property bag models for nodes and edges. ACID Behavior Transactional Semantic (ACID) behavior.

TIBCO® Graph Database Release Notes 14

Client API Open-source Java and NodeJS-based client API. Large Database Supports large database with the large file segment. Page Cache Management Supports large and efficient page cache management (maximum of 4 TB). Administrative Console Administrative console for schema and user management.

TIBCO® Graph Database Release Notes 15

Migration and Compatibility

When migrating from Graph Database 2.0.0 or prior versions, export the database using the export utility before migration, perform the migration steps, then import the database using either initdb or an explicit import command. This section describes migration and compatibility for the TIBCO Graph Database 2.0.1 or prior versions.

Recreating the Database

For migration, the database created in TIBCO Graph Database 1.1.1 must be recreated in TIBCO Graph Database 2.0.0. To recreate the database:

1. Export the data from TIBCO Graph Database 1.1.1 using the Administrative console. For more information, see TIBCO® Graph Database Administration Guide. 2. Shut down the server and Administrative console.

3. Delete the /data/ folder. 4. Install TIBCO Graph Database 2.0.0. 5. Import the data to TIBCO Graph Database 2.0.0. For more information, see TIBCO® Graph Database Administration Guide.

Config Files

Use the latest 2.0.0 configuration files (tgdb.conf and initdb.conf) that were installed with the 2.0.0 TIBCO Graph Database. The new files have the following changes:

● Double forward slashes (//) are used to indicate inline comments - a semicolon (;) is no longer used.

● Security parameters are now all in the configuration files instead of separate files.

● The security parameter tgsec.conf and its related parameters were replaced with more robust security parameters.

● New logging levels for server components were added. The default log level is info:* where * stands for any component.

● A GPU section was added to the tgdb.conf file.

Database

The 1.1.x Graph Database must be reinitialized and then recreated in the 2.0.0 Graph Database. To reinitialize the database:

1. Export the 1.1.x database to CSV. 2. Import the 1.1.x database as the 2.0.0 database. To recreate the database:

1. Use the Administrative Console to export data from the 1.1.x Graph Database to the 2.0.0 database. 2. Shut down the server and Administrative Console.

3. Delete the following folder: /data/ folder. 4. Install 2.0.0 database. 5. Import the 1.1.x database data to the 2.0.0 database.

TIBCO® Graph Database Release Notes 16

For more information on recreating the database, see TIBCO® Graph Database Administration Guide.

TIBCO® Graph Database Release Notes 17

Known Issues

2.0.2

The following table lists known issues in 2.0.2 version of TIBCO Graph Database:

Key Description Workaround

TGDB-635 Routes Example: Running for 4 Use filters to reduce the number of stops throws resulting dataset. A limit step java.lang.OutOfMemoryError will be introduced to reduce : Java heap space the dataset.

TGDB-631 Unable to parse "\\" escape Use blobs/clobs instead of sequence in string values set in string . Java API.

TGDB-628 Number of attributes allowed The restriction is only at a meta for a nodetype is limited to data level. An instance of a 100. node type can have any number of attributes.

TGDB-622 Connect with 500 or 1000 Increase system ulimit. parallel threads fails to insert nodes for n number of invocations.

TGDB-621 The create-then-retrieve Use string, integer, or node with either byte, date, number keys. time, or timestamp pkey fails.

TGDB-620 Byte Index creation fails with Use string, integer, or TGTransactionUniqueConstra number keys. intViolationException.

TGDB-604 Cannot set encrypted byte Use an integer attribute to attribute using Java API. specify the byte value. There is no additional storage cost, as byte type provides a functional check for the value to lie in the range of 0 to 255. This can be programmatically tested.

2.0.1

The following table lists known issues in 2.0.1 version of TIBCO Graph Database:

TIBCO® Graph Database Release Notes 18

Key Description

TGDB-636 Summary: The @isArray:true annotation in the init file is not supported in 2.0.1. Workaround: Use blobs or clobs to store arrays.

TGDB-635 Summary: Airlines example: Running for 4 number of stops throws a java.lang.OutOfMemoryError: Java heap space error. Workaround: Use filters to reduce the resultant data set.

TGDB-631 Summary: Unable to parse " \\ " escape sequence in string values set in Java API. Workaround: Use blobs or clobs instead of a string.

TGDB-628 Summary: A nodetype definition cannot include more than 100 attribute descriptors. Workaround: An instance of a node type can have any number of attributes. The restriction is only at a metadata level.

TGDB-622 Summary: Connect with 500 or 1000 parallel threads fails to insert nodes for n number of invocations. Workaround: Increase system ulimit.

TGDB-621 Summary: Creating, then retrieving a node with a byte, date, time, or timestamp pkey fails. Workaround: Use a string, an integer, or number keys instead.

TGDB-620 Summary: Byte Index creation fails with a TGTransactionUniqueConstraintViolationException error. Workaround: Use a string, an integer, or number keys instead.

TGDB-610 Summary: Gremlin: Executing g.E(); on the Admin hangs server and throws an OutofMemory error on Admin for airline data using the default setting.

Workaround: For larger data sets like airline data, use the -m option to increase admin memory. For example: ./tgdb-admin -m 100

TGDB-604 Summary: Cannot set encrypted byte attribute using Java API. Workaround: Use an integer attribute to specify the byte value. There is no additional storage cost, as a byte type provides a functional check for value to lie in the range of "0.255". This can be programmatically tested.

2.0.0

The following table lists known issues in 2.0.0 version of TIBCO Graph Database:

Key Summary

TGDB-519 Summary: Starting with TIBCO Graph Database v2.0.0, the support on platform: Apple Mac OS X, 10.11.x, is deprecated.

TIBCO® Graph Database Release Notes 19

Key Summary

TGDB-499 Summary: Blob/Clob not supported for export.

TGDB-498 Summary: Blob/Clob not supported for import.

TGDB-497 Summary: Administration client does not support SSL.

TGDB-480 Summary: Page leaks occur when a delete node does not release page(s) back to the database. Workaround: Export and import the database to clean up disk space.

TGDB-473 Summary: Excessive warnings during shutdown. Workaround: These are harmless warnings and can be ignored.

TGDB-382 Summary: In a fault tolerant setup, the Java client API throws a IllegalMonitorStateException when connected to the stand-by server. Workaround: This is harmless exception, ignore it.

TGDB-378 Summary: Re-importing the same set of data from Administrative console might result in unwanted duplicated nodes in the database. Workaround: For re-importing data, re-initialize the database first and start with a fresh import.

TGDB-372 Summary: The selective export option exports too many nodes and edges. Workaround: None

TGDB-318 Summary: The non-unique indices are not supported. Workaround: When defining indices in the Administrative console, or in the initdb.conf file, ensure that you choose a unique option.

TGDB-195 Summary: The connected clients stops responding when server shuts down. Workaround: Terminate the connection to the clients manually.

TGDB-167 Summary: The attributes of type Date, Time, and Timestamp do not support Timezone. Workaround: None.

TGDB-163 Summary: Indices work only for the following attribute types: char, short, int, long, float, double, and string. The remaining attribute types are not supported as index in the 2.0.0 release of TIBCO Graph Database. Workaround: None.

TIBCO® Graph Database Release Notes 20

Key Summary

TGDB-158 Summary: Java API does not have getAsNumber(), getAsDate(), getAsTime(), and getAsTimestamp() methods for attributes.

Workaround: Use attribute.getValue() and cast it.

TGDB-131 Summary: You cannot delete and re-insert a node within the same transaction. Workaround: Do the delete and re-insert sequence in two different transactions instead. For example, perform the sequence delete node - commit - re-insert node - commit.

TGDB-120 Summary: The current system does not support attribute changes to Index keys. Workaround: Delete the Index key and insert it again as a part of the transaction.

TIBCO® Graph Database Release Notes 21

Closed Issues

The following issues have been closed in TIBCO Graph Database and are listed by release.

2.0.2

Key Description

TGDB-716 TIBCO Graph Database should be supported on Microsoft Azure Marketplace.

TGDB 713 Add P. Prefix support for predicates in the has step. For example:

V().has('airportType','country','India').has('airportID',P.eq(AIRPOR T3017)) ;

TGDB 712 Add Decimal data type support for the has() step. For example:

g.V().has('cdi', 'cdiid', '172CDIREAY24').has('groupid', P.eq(2200.0)).toList();

TGDB 711 Improve query-specific error messages received from server on Administration Tool.

TGDB 710 Fix memory clean-up issues in Gremlin parser.

TGDB 692 Gremlin: Queries display only 3 edges instead of 5 on Administration Tool.

TGDB-634 UTF8 strings & serialization from Java API not supported properly.

TGDB-684 String form of a Gremlin Query should provide metadata in the TGResultSet.

TGDB-683 Improve error handling in query-APIs with proper exceptions.

TGDB-651 Improve query-cache memory utilization.

TGDB-502 String functions trim, rtrim, contains, split sometimes do not work as expected.

TGDB-667 Add support for creating AttributeType programmatically from Java APIs.

TGDB-666 Add support for creating EdgeType programmatically from Java APIs.

TGDB-665 Add support for creating NodeType programmatically from Java APIs.

TIBCO® Graph Database Release Notes 22

2.0.1

Key Description

TGDB-636 The following annotations used in the init file have changed in 2.0.1:

● 2.0.0 - @isArray:true

● 2.0.1 - Not supported.

TGDB-632 On Linux, Gremlin queries executed on the Admin returned 0 results.

TGDB-627 In a cyclic Graph with 2 nodes, when one node is deleted, retrieving the second node from the database failed.

TGDB-617 The operation failed if the server was restarted before a Read attribute and after an Update attribute.

TGDB-615 Numerous issues occurred when using initdb for importing on Windows.

TGDB-613 Running the OpenFlightsQuery caused server operations to fail for a particular query.

TGDB-612 Admin hangs when creating a node type on Windows.

TGDB-611 Admin hangs when importing flight data on Windows.

TGDB-609 A database error occurred when importing route data with initdb .

TGDB-608 Executing a Gremlin query for airline data caused the server operation to fail.

TGDB-606 The Java API deleteEntity() call caused the server operation to fail.

TGDB-603 Could not create encrypted date/time/timestamp attributes using the Java client.

TGDB-602 The show attrdesc command prints a header line when there are no attribute descriptors in the system.

TGDB-601 Added support for "out,in,both and other" steps in between other Gremlin steps.

TGDB-600 Added support for status and number of entries to the show indices Admin command.

TGDB-598 Creating node type with encrypted pkey succeeded, but related undesirable behavior occurred.

TGDB-597 In Centos, starting the server failed.

TGDB-595 Segmentation fault occured during server initialization if the [initdb] section header was missing an open square bracket.

TGDB-594 OpenFlightsQuery failed with a NullPointerException due to a particular query.

TIBCO® Graph Database Release Notes 23

Key Description

TGDB-593 An error should have been raised when an index creation is attempted on an encrypted attribute.

TGDB-591 Provided support for enabling encrypted attribute descriptor creation from Admin.

TGDB-588 Importing a node type without a pkey failed.

TGDB-587 Added support for String to Bytecode functionality for Gremlin queries.

TGDB-586 Added support for non-unique index queries.

TGDB-584 The metadescript.txt (test subfolder) should be updated.

TGDB-583 create index on a node type that is already populated did not register the existing node to the new index.

TGDB-581 Server crashed during an admin connect attempt, due to an issue checking the current version.

TGDB-577 The steps for compiling and running examples in their respective readme.txt files were inaccurate.

TGDB-576 An out of memory (OOM) error occured when trying to run a Gremlin query sequence on Admin.

TGDB-575 A TGOutofMemory error occured when trying to run certain Gremlin queries in a particular sequence on Admin.

TGDB-567 Import process did not create new users.

TGDB-566 On Windows, the tgdb-admin exited when user pressed Esc.

TGDB-562 A memory leak occurred while executing a transaction.

TGDB-549 Admin failed to reconnect with OOM error.

TGDB-546 There was a macOS Mojave database initialization failure.

TGDB-545 CSV parser did not return error on malformed input.

TGDB-539 Needed to display datetime as a string in different formats.

TGDB-538 InitDb configuration file could not specify/indent with spaces after comma for Attributes specified in node type definition.

TGDB-537 Stop server command failed.

TGDB-528 dump server stacktrace command did not display stacktrace and server operations were halted.

TGDB-527 "set server loglevel debugfiner * " and "set server loglevel debugfine * " commands caused server to fail.

TIBCO® Graph Database Release Notes 24

Key Description

TGDB-523 Added help options for gremlin queries in Admin console 'help' command.

TGDB-520 Routes Example threw the null pointer exception.

TGDB-497 Admin client did not support SSL.

TGDB-480 Delete Node did not release page(s) back to the database, causing page leaks.

TGDB-441 Importing two nodes whose node type does not have a pkey resulted in a TGIndexUniqueConstraintViolation error.

TGDB-121 Added support for optimized, non-unique index pages.

2.0.0

There are no closed issues in version 2.0.0 of TIBCO Graph Database.

Deprecated Features

Platform macOS 10.11 is deprecated.

TIBCO® Graph Database Release Notes