Release 0.9.0
New Features in 0.9.0
This release includes these new features and enhancements:
Category | Features |
---|---|
Performance |
|
Infrastructure and High Availability |
|
Database and Query Performance |
|
Database Movement and Connectivity |
|
Security |
|
Stability |
|
Fixes in 0.9.0
This release contains fixes to more than 140 defects, which were filed through Launchpad.
Known Problems With Workarounds in 0.9.0
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:
- Enhance your JDBC application logic to retry when an error 97 is returned for a commit operation.
- 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).
- 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.
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.
NOTE: The split policy should already be set to 'ConstantSizeRegionSplitPolicy' by the Trafodion installer. See Installer Modifications to HBase.
Summary:
Property Value hbase.hregion.max.filesize 107374182400 hbase.regionserver.region.split.policy org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy - 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- 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 ;