This is the first release of the Apache Trafodion (incubating) project. In addition to including a number of new features and improvements across the project, the focus of this release is to comply with Apache release guidelines.
Build instructions are available here.
Supported Platforms
The following platforms are supported in this release.
Operating Systems | CentOS 6.5 – 6.7 |
Hadoop Distributions | Cloudera distributions CDH 5.3.x Hortonworks distribution HDP 2.2 |
Java Version | JDK 1.7.0_67 or newer |
HBase Version | HBase 0.98.x |
New Features
This release contains the following new features.
Category | Feature | Defect ID |
---|---|---|
SQL | Support for IDENTITY columns. | (TRAFODION-62) |
SQL | Support HBase region splitting and re-balancing with active transactions. | (TRAFODION-34) |
Installer | Support for Batch feature in Installer. | (TRAFODION-1543) |
Installer | Support for Cloudera parcels feature in Installer. | (TRAFODION-1452) |
SQL | Support for Multi-Temperate data – Part 1. | (TRAFODION-49) |
UDF | Compile time interface for Table Mapping UDFs (TMUDF). | (TRAFODION-51) |
SQL | Support for multiple column families in a Trafodion table. | (TRAFODION-1419) |
SQL | Support for MODIFY COLUMN attribute for ALTER TABLE. | (TRAFODION-18) |
Improvements
This release contains the following improvements.
Category | Feature | Defect ID |
---|---|---|
SQL | Enable HBase serialization feature. | TRAFODION-1462 |
SQL | Enable EXPLAIN_IN_RMS feature by default. | TRAFODION-1460 |
Performance | Reduce the path length for IUD operations in Trafodion. | TRAFODION-1444 |
SQL | Enable Compressed Internal Format (CIF) for Trafodion scan operator. | TRAFODION-1424 |
Build | Maven components to use locally built JDBC jar file. | TRAFODION-1437 |
Build | Numerous build improvements. |
Fixes
This release contains fixes for 114 bugs.
Known Issues
HBase Lease Timeout Patch
HBase uses a lease mechanism to protect against memory leaks in Region Servers caused by potential client instabilities that would open scanners, but die before having the opportunity to close cleanly and release resources. This mechanism relies on a server side timer, configured by the ‘hbase.client.scanner.timeout.period’ parameter in ‘hbase-site.xml’. If a client fails to call ‘next()’ within the timeout period, the server will assume the client died, and will force close the server side scanner and release resources. However, in Trafodion, there are legitimate use cases where client is busy doing heavy processing, and needs more time than specified in the default scanner timeout value. Increasing the ‘hbase.client.scanner.timeout.period’ value has the side effect of weakening the safety mechanism previously described.
The HBase community agrees that the correct behavior of this safety feature should be to have the client reset the scanner and resume where it left off instead of giving up and throwing an exception. The change will be implemented in a future release of HBase. In the meantime, this release includes a mechanism to invoke the correct behavior via a custom setting. You can enable the behavior by adding this parameter in ‘hbase-site.xml’.
<property> <name>hbase.trafodion.patchclientscanner.enabled</name> <value>true</value> <description> Enable a Trafodion feature to allow a client to reset the HBase scanner and resume where it left off instead of throwing an exception upon expiration of the HBase hbase.client.scanner.timeout.period timer. </description> </property>
The default value of the parameter is false.