Obsolete

This page is obsolete. It has been replaced with: http://trafodion.apache.org/release-notes-0-8-0.html

Redirection Notice

This page will redirect to http://trafodion.apache.org/release-notes-0-8-0.html.

Release 0.8.3

New Features in 0.8.3

Release 0.8.3 has the same set of features as in Release 0.8.0. For a list of all the features in the software, please see the Release 0.8.0 features.

Fixes in 0.8.3

Release 0.8.3 contains fixes to more than 35 critical and high defects, which were filed through Launchpad, and includes some performance enhancements based on DC and YCSB benchmarks. Native Expressions and Transaction Manager Recovery were disabled in order to avoid two critical issues. Those issues will be addressed in an upcoming release.

Known Problems With Workarounds in 0.8.3

See the Known Problems With Workarounds in 0.8.0.

Release 0.8.2

New Features in 0.8.2

Release 0.8.2 has the same set of features as in Release 0.8.0. For a list of all the features in the software, please see the Release 0.8.0 features.

Fixes in 0.8.2

Release 0.8.2 has a corrected license file in the installer.

Known Problems With Workarounds in 0.8.2

See the Known Problems With Workarounds in 0.8.0.

Release 0.8.1

New Features in 0.8.1

Release 0.8.1 has the same set of features as in Release 0.8.0. For a list of all the features in the software, please see the Release 0.8.0 features.

Fixes in 0.8.1

Release 0.8.1 provides these fixes to the Trafodion installer:

Known Problems With Workarounds in 0.8.1

See the Known Problems With Workarounds in 0.8.0.

Release 0.8.0

New Features in 0.8.0

This release includes these new features:

  • Foreign key (referential integrity), check, and unique constraints in addition to primary key and not null constraints
  • Stored Procedures in Java (SPJs) (not yet fully tested)
  • User-Defined Functions (UDFs) written in C (not yet fully tested)
  • ACID properties apart from failure recovery
  • Transactional atomicity and consistency provided by the standard two-phased commit protocol with presumed abort semantics, supporting commit and rollback
  • Serializability based on a Multi-Version Concurrency Control (MVCC) algorithm in HBase-trx
  • Distributed/global transaction support across the cluster, including transaction propagation between SQL components
  • Support for multithreaded SQL clients

For a list of all the features in the release, please see the Release 0.8.0 features.

Fixes in 0.8.0

This release includes fixes to the Trafodion ODBC driver for Windows and the installer, which handles the installation of the Trafodion software. To use the new installer, see downloading and installing. This release also includes performance fixes and cleanup to the Trafodion software code.

Known Problems With Workarounds in 0.8.0


Bug #1329001: sqlci prints no banner or prompt when used in a su session.

Symptom: SQLCI hangs and is missing output after “su” command.

Cause: The sqlci program may appear hung (producing no output) when you use the “su” command to switch to another user. This is caused by a permission problem in Linux, making the standard output of sqlci disappear.

Solution: There are two possible workarounds:

  1. Create a new session for the changed user, e.g. with the ssh or xterm commands, or
  2. Invoke the program like this: sqlci | cat.

Bug #1274651: Getting TM error 97 when tables split or get moved.

Symptom: HBase Region Splits, Load Balancing, and Error 97

Cause: As part of an HBase environment’s ongoing operations (and based on the policies configured for the HBase environment), an HBase region can either get split (into two daughter regions) or moved to a different region server. (Please see the blog: http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/.) If that happens when a Trafodion transaction is active (and operates on rows within the region that is being split or load-balanced), then a subsequent transaction commit operation by the application might encounter an error 97. Please note that under such conditions the Trafodion Transaction Manager will abort the transaction and will preserve the integrity of the database.

Solution: To minimize disruptions when this happens, we suggest that you use one or more of the following approaches:

  1. Enhance your JDBC application logic to retry when an error 97 is returned for a commit operation.
  2. Update the HBase configuration to reduce the times when such disruptions happen. It involves updates to some properties that can be set in hbase-site.xml (or via the manageability interface of your Hadoop distro).
    1. Set the maximum file size of an HBase Region to 100 GB. For example, set the value of the property hbase.hregion.max.filesize to 107374182400.
    2. Set the HBase region split policy to 'ConstantSizeRegionSplitPolicy'. For example, set the value of the property hbase.regionserver.region.split.policy to org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy. 

      Summary: 

      PropertyValue
      hbase.hregion.max.filesize107374182400
      hbase.regionserver.region.split.policyorg.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy

      (Please see the blog: http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/)

  3. Disable HBase Region Load Balancing. Use the HBase shell command balance_switch false to disable the movement of a region from one server to another. 

    Example:
    # hbase shell
    hbase(main):002:0> balance_switch false
    true  <-- Output will be the last setting of the balance_switch value
    0 row(s) in 0.0080 seconds

    NOTE: The disabling of HBase Region Load Balancing does not persist across HBase instance startups. So, if you restart your HBase instance, please re-execute the above HBase shell command to disable load balancing. 

  4. Pre-split the table into multiple regions by using the ‘SALT USING <n> PARTITIONS’ clause when creating the table. The number of partitions that you specify could be a function of the number of region servers present in the HBase cluster. Here is a simple example in which the table ‘INVENTORY’ is pre-split into four regions when created:
    CREATE TABLE INVENTORY
      (
        ITEM_ID       INT UNSIGNED NO DEFAULT NOT NULL
      , ITEM_TYPE     INT UNSIGNED NO DEFAULT NOT NULL
      , ITEM_COUNT    INT UNSIGNED NO DEFAULT NOT NULL
      , PRIMARY KEY (ITEM_ID ASC)
      )  SALT USING 4 PARTITIONS
      ;
  • No labels