
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2015-12-08
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache Trafodion Release 1.0.0</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />

		<link href="http://netdna.bootstrapcdn.com/bootswatch/2.3.2/cerulean/bootstrap.min.css" rel="stylesheet" />
		<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="./css/bootswatch.css" rel="stylesheet" />
		<link href="./css/reflow-skin.css" rel="stylesheet" />

		<link href="http://yandex.st/highlightjs/7.5/styles/default.min.css" rel="stylesheet" />

		<link href="./css/lightbox.css" rel="stylesheet" />

		<link href="./css/site.css" rel="stylesheet" />
		<link href="./css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->



	</head>

	<body class="page-release-notes-1-0-0 project-trafodion" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<a class="brand" href="index.html">Apache <span class="color-highlight">Trafodion</span></a>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="download.html" title="Download">Download</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">About <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Project Overview">Project Overview</a></li>
									<li ><a href="new-features.html" title="New Features">New Features</a></li>
									<li ><a href="roadmap.html" title="Roadmap">Roadmap</a></li>
									<li ><a href="performance.html" title="Performance">Performance</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="team-list.html" title="Team">Team</a></li>
									<li ><a href="presentations.html" title="Presentations">Presentations</a></li>
									<li ><a href="mail-lists.html" title="Mailing List">Mailing List</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="source-repository.html" title="Source Repository">Source Repository</a></li>
									<li ><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li>
									<li ><a href="license.html" title="License">License</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Using <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="quickstart.html" title="Quick Start">Quick Start</a></li>
									<li ><a href="download.html" title="Download">Download</a></li>
									<li ><a href="install.html" title="Install">Install</a></li>
									<li ><a href="management.html" title="Managing Trafodion">Managing Trafodion</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="documentation.html" title="Documentation">Documentation</a></li>
									<li ><a href="faq.html" title="FAQ">FAQ</a></li>
									<li ><a href="release-notes.html" title="Release Notes">Release Notes</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Features <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a></li>
									<li ><a href="docs/Trafodion_odb_User_Guide.pdf" title="ODB">ODB</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="contribute.html" title="Contribute">Contribute</a></li>
									<li ><a href="advocate.html" title="Advocate">Advocate</a></li>
									<li ><a href="develop.html" title="Develop">Develop</a></li>
									<li ><a href="testing.html" title="Test">Test</a></li>
									<li ><a href="merge.html" title="Merge">Merge</a></li>
									<li ><a href="release.html" title="Release">Release</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="create-dev-environment.html" title="Create Dev Environment">Create Dev Environment</a></li>
									<li ><a href="manage-dev-environment.html" title="Manage Dev Environment">Manage Dev Environment</a></li>
									<li ><a href="setup-build-environment.html" title="Setup Build Environment">Setup Build Environment</a></li>
									<li ><a href="build.html" title="Build Trafodion">Build Trafodion</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="code.html" title="Modify Code">Modify Code</a></li>
									<li ><a href="tests.html" title="Modify Tests">Modify Tests</a></li>
									<li ><a href="document.html" title="Modify Documentation">Modify Documentation</a></li>
									<li ><a href="website.html" title="Modify Web Site">Modify Web Site</a></li>
									<li ><a href="wiki.html" title="Modify Wiki Pages">Modify Wiki Pages</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="cplusplus-coding-guidelines.html" title="C++ Coding Guidelines">C++ Coding Guidelines</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="http://incubator.apache.org/projects/trafodion.html" title="Status Page" target="_blank" class="externalLink">Status Page</a></li>
									<li ><a href="http://www.apache.org/foundation/how-it-works.html" title="Apache Foundation" target="_blank" class="externalLink">Apache Foundation</a></li>
									<li ><a href="http://www.apache.org/licenses/" title="Apache License" target="_blank" class="externalLink">Apache License</a></li>
									<li ><a href="http://www.apache.org/security/" title="Apache Security" target="_blank" class="externalLink">Apache Security</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" target="_blank" class="externalLink">Sponsorship</a></li>
									<li ><a href="http://www.apache.org/foundation/thanks.html" title="Thanks" target="_blank" class="externalLink">Thanks</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="index.html" id="bannerLeft"><h1>Apache <span class="color-highlight">Trafodion</span></h1></a>
					<p class="lead">Transactional SQL-on-Hadoop Database</p>
				</div>
				<div class="pull-right">
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li><a href="index.html" title="Trafodion">Trafodion</a></li>
				<li class="divider">/</li>
				<li>Release 1.0.0</li>
			</ul>
		</div>
		<hr class="toc-separator" />
		<div id="toc-bar" class="navbar" data-spy="affix" data-offset-top="250">
			<div class="navbar-inner">
				<div id="toc-scroll-target" class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#toc-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="nav-collapse collapse" id="toc-nav-collapse">
						<ul id="toc" class="nav">
						<li class="toplevel"><a href="#supported_platforms" title="Supported Platforms">Supported Platforms</a></li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#enhancements" title="Enhancements">Enhancements</a></li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#fixes" title="Fixes">Fixes</a></li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#known_issues" title="Known Issues" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Known Issues <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#known_issues" title="Known Issues">Known Issues</a></li>
								<li class="divider"></li>
								<li><a href="#Getting_TM_error_97_when_tables_split_or_get_moved" title="Getting TM error 97 when tables split or get moved">Getting TM error 97 when tables split or get moved</a></li>
								<li><a href="#EXECUTEBATCH_update_creates_core-file" title="EXECUTE.BATCH update creates core-file">EXECUTE.BATCH update creates core-file</a></li>
								<li><a href="#Random_update_statistics_failures_with_HBase_OutOfOrderScannerNextException" title="Random update statistics failures with HBase OutOfOrderScannerNextException">Random update statistics failures with HBase OutOfOrderScannerNextException</a></li>
								<li><a href="#Following_update_statistics_stats_do_not_take_effect_immediately" title="Following update statistics, stats do not take effect immediately">Following update statistics, stats do not take effect immediately</a></li>

							</ul>
						</li>
						</ul>
					</div>
				</div>
			</div>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span12">
			<div class="body-content">
<!-- Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. --> 
<p>This is the source-only release of the Apache Trafodion (incubating) project. This release provides a number of new features and improvements across the project plus a large number of bug fixes.</p> 
<p>Build instructions are available <a href="build.html">here</a>.</p> 
<div class="page-header">
 <h1 id="supported_platforms">Supported Platforms</h1>
</div> 
<p>The following platforms are supported in this release.</p> 
<p><span> </span></p> 
<table border="0" class="bodyTable table table-striped table-hover"> 
 <tbody> 
  <tr class="a"> 
   <td><b>Operating Systems</b></td> 
   <td>CentOS 6.5 – 6.7</td> 
  </tr> 
  <tr class="b"> 
   <td><b>Hadoop Distributions</b></td> 
   <td>Cloudera CDH distribution 5.1 and Hortonworks distribution HDP 2.1</td> 
  </tr> 
  <tr class="a"> 
   <td><b>Java Version</b></td> 
   <td>JDK 1.7.0_67 or newer</td> 
  </tr> 
  <tr class="b"> 
   <td><b>HBase Version</b></td> 
   <td>HBase 0.98.x</td> 
  </tr> 
 </tbody> 
</table> 
<h1 id="enhancements">Enhancements</h1> 
<p>This release contains the following new features.</p> 
<p><span> </span></p> 
<table border="0" class="bodyTable table table-striped table-hover"> 
 <thead> 
  <tr class="a"> 
   <th>Category</th> 
   <th>Feature</th> 
   <th>Defect ID</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr class="b"> 
   <td><b>High Availability</b></td> 
   <td>Production Ready: 
    <ul> 
     <li>Recovery from Trafodion infrastructure process failures. (Transaction Manager, Monitor)</li> 
     <li>Recovery from HBase Region Server failures.</li> 
     <li>Recovery from node failures.</li> 
     <li>Recovery from catastrophic system failures.</li> 
    </ul> </td> 
   <td></td> 
  </tr> 
  <tr class="a"> 
   <td><b>Performance</b></td> 
   <td>Production Ready: 
    <ul> 
     <li><a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation">Automated Update Statistics</a> (initial, basic support).</li> 
     <li>Nested join enhancements.</li> 
     <li>Index support enhancements.</li> 
     <li>Scan performance.</li> 
    </ul> Technology Preview: 
    <ul> 
     <li><a class="externalLink" href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning">Multi-Temperature Data</a> (Complete But Not Tested)</li> 
    </ul> For more information about automated update statistics and index support enhancements, see the <a href="docs/Trafodion_SQL_Reference_Manaual.pdf">Trafodion SQL Reference Manual</a>. </td> 
   <td></td> 
  </tr> 
  <tr class="b"> 
   <td><b>Usability</b></td> 
   <td>Technology Preview: 
    <ul> 
     <li><a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables">Native HBase Tables</a> — Select/insert/update/delete data. (Complete But Not Tested)</li> 
     <li><a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers">Sequence numbers</a> and <a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/identity-column">IDENTITY column</a> (Complete But Not Tested)</li> 
     <li>Oracle compatibility features (disabled by default) (Complete But Not Tested)</li> 
     <li><a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/lob-support">Large Objects (LOB)</a> support (Work in Progress)</li> 
    </ul> </td> 
   <td></td> 
  </tr> 
  <tr class="a"> 
   <td><b>Database Movement and Connectivity</b></td> 
   <td>Production Ready: 
    <ul> 
     <li><a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload">Bulk Unload</a></li> 
    </ul> Technology Preview: 
    <ul> 
     <li><a class="externalLink" href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore">Backup/Restore</a>. (Complete But Not Tested)</li> 
     <li>Thread-Safe JDBC Type 2 Driver. (Complete But Not Tested)</li> 
    </ul> For more information about the new UNLOAD statement, see the <a href="docs/Trafodion_SQL_Reference_Manaual.pdf">Trafodion SQL Reference Manual</a>. </td> 
   <td></td> 
  </tr> 
  <tr class="b"> 
   <td><b>Manageability</b></td> 
   <td>Production Ready: 
    <ul> 
     <li>Visibility of SQL runtime statistics via the <a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms">Runtime Management System (RMS)</a>.</li> 
     <li>Ability to <a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel">Cancel Queries</a> (DML statements only, not DDL, update statistics, and additional child query operations).</li> 
     <li><a class="externalLink" href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events">Event Handling</a> through UDFs and log4cpp.</li> 
    </ul> Technology Preview: 
    <ul> 
     <li>Collection of session and query statistics in <a class="externalLink" href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability">Repository Tables</a> (disabled by default)</li> 
    </ul> For more information about gathering SQL runtime statistics and canceling an executing query, see the <a href="docs/Trafodion_SQL_Reference_Manaual.pdf">Trafodion SQL Reference Manual</a>. </td> 
   <td></td> 
  </tr> 
  <tr class="a"> 
   <td><b>Security</b></td> 
   <td>Production Ready: 
    <ul> 
     <li><a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas">ANSI Schema Support</a>.</li> 
     <li><a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates">Privilege checking for SPJs, UDFs, libraries, and sequence generators</a>.</li> 
     <li><a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates">Privilege checking for utilities</a>.</li> 
     <li><a class="externalLink" href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation">Metadata Query Invalidation</a> (that is, detection and propagation of privilege changes to SQL compilers).</li> 
    </ul> For more information about ANSI schema support and privilege and authorization updates in this release, see the <a href="docs/Trafodion_SQL_Reference_Manaual.pdf">Trafodion SQL Reference Manual</a>. </td> 
   <td></td> 
  </tr> 
  <tr class="b"> 
   <td><b>Stability</b></td> 
   <td> 
    <ul> 
     <li>Fixes for 85 defects.</li> 
    </ul> </td> 
   <td></td> 
  </tr> 
 </tbody> 
</table> 
<h1 id="fixes">Fixes</h1> 
<p>This release contains fixes to around 85 defects, including 25 critical defects, 54 high defects, and 10 medium and low defects. Those defects were filed through <a class="externalLink" href="https://launchpad.net/trafodion/+milestone/r1.1">Launchpad</a>.</p> 
<h1 id="known_issues">Known Issues</h1> 
<p>All defect are located in <a class="externalLink" href="https://bugs.launchpad.net/trafodion">Launchpad</a>. </p> 
<div class="section"> 
 <h2 id="Getting_TM_error_97_when_tables_split_or_get_moved">Getting TM error 97 when tables split or get moved</h2> 
 <p><b>Defect:</b> <a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1274651">1274651</a></p> 
 <p><b>Symptom:</b> HBase Region Splits, Load Balancing, and Error 97.</p> 
 <p><b>Cause:</b> 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: <a class="externalLink" href="http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/">http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/</a>.) 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.</p> 
 <p><b>Solution:</b> To minimize disruptions when this happens, we suggest that you use one or more of the following approaches:</p> 
 <ol style="list-style-type: decimal"> 
  <li>Enhance your JDBC application logic to retry when an error 97 is returned for a commit operation.</li> 
  <li>Update the HBase configuration to reduce the times when such disruptions happen. It involves updates to some properties that can be set in <tt>hbase-site.xml</tt> (or via the manageability interface of your Hadoop distribution).</li> 
  <ul> 
   <li>Set the maximum file size of an HBase Region to 100 GB. For example, set the value of the property <tt>hbase.hregion.max.filesize</tt> to <tt>107374182400</tt>.</li> 
   <li> <p>Set the HBase region split policy to '<tt>ConstantSizeRegionSplitPolicy</tt>'. For example, set the value of the property <tt>hbase.regionserver.region.split.policy</tt> to <tt>org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy</tt>.</p> <p><b>NOTE</b>: The split policy should already be set to '<tt>onstantSizeRegionSplitPolicy</tt>' by the Trafodion installer.</p> <p><b>Summary</b></p> <p> <span> </span></p> 
    <table border="0" class="bodyTable table table-striped table-hover"> 
     <thead> 
      <tr class="a"> 
       <th>Property</th> 
       <th>Value</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr class="b"> 
       <td><tt>hbase.hregion.max.filesize</tt></td> 
       <td><tt>107374182400</tt></td> 
      </tr> 
      <tr class="a"> 
       <td><tt>hbase.regionserver.region.split.policy</tt></td> 
       <td><tt>org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy</tt></td> 
      </tr> 
     </tbody> 
    </table> More information: [http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/](http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/) </li> 
  </ul> 
  <li> <p>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.</p> <p><b>Example</b></p> 
   <div> 
    <pre>
hbase shell
hbase(main):002:0&gt; balance_switch false
true  -- Output will be the last setting of the balance_switch value
0 row(s) in 0.0080 seconds
        </pre> 
   </div> </li> 
  <li> Pre-split the table into multiple regions by using the <tt>SALT USING n PARTITIONS</tt> 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: 
   <div> 
    <pre>
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
  ;    </pre> 
   </div> </li> 
 </ol> 
</div> 
<div class="section"> 
 <h2 id="EXECUTEBATCH_update_creates_core-file">EXECUTE.BATCH update creates core-file</h2> 
 <p><b>Defect:</b> <a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1274962">1274962</a></p> 
 <p><b>Symptom:</b> <tt>EXECUTE.BATCH</tt> hangs for a long time doing updates, and the update creates a core file.</p> 
 <p><b>Cause:</b> To be determined.</p> 
 <p><b>Solution:</b> Batch updates and ODBC row arrays do not currently work.</p> 
</div> 
<div class="section"> 
 <h2 id="Random_update_statistics_failures_with_HBase_OutOfOrderScannerNextException">Random update statistics failures with HBase OutOfOrderScannerNextException</h2> 
 <p><b>Defect:</b> <a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1391271">1391271</a></p> 
 <p><b>Symptom:</b> While running update statistics commands, you see HBase OutOfOrderScannerNextException errors.</p> 
 <p><b>Cause:</b> The default <tt>hbase.rpc.timeout</tt> and <tt>hbase.client.scanner.timeout.period</tt> values might be too low given the size of the tables. Sampling in update statistics is implemented using the HBase Random RowFilter. For very large tables with several billion rows, the sampling ratio required to get a sample of 1 million rows is very small. This can result in HBase client connection timeout errors since there may be no row returned by a RegionServer for an extended period of time.</p> 
 <p><b>Solution:</b> Increase the <tt>hbase.rpc.timeout</tt> and <tt>hbase.client.scanner.timeout.period</tt> values. We have found that increasing those values to 600 seconds (10 minutes) might sometimes prevent many timeout-related errors. For more information, see the <a class="externalLink" href="https://wiki.trafodion.org/wiki/index.php/Configuration#Recommendations">HBase Configuration and Fine Tuning Recommendations</a>.</p> 
 <p>If increasing the <tt>hbase.rpc.timeout</tt> and <tt>hbase.client.scanner.timeout.period</tt> values does not work, try increasing the chosen sampling size. Choose a sampling percentage higher than the default setting of 1 million rows for large tables. For example, suppose table T has one billion rows. The following <tt>UPDATE STATISTICS</tt> statement will sample a million rows, or approximately one-tenth of one percent of the total rows:</p> 
 <div class="source"> 
  <div class="source"> 
   <pre>update statistics for table T on every column sample;
</pre> 
  </div> 
 </div> 
 <p>To sample one percent of the rows, regardless of the table size, you must explicitly state the sampling rate as follows:</p> 
 <div class="source"> 
  <div class="source"> 
   <pre>update statistics for table T on every column sample random 1 percent;
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Following_update_statistics_stats_do_not_take_effect_immediately">Following update statistics, stats do not take effect immediately</h2> 
 <p><b>Defect:</b> <a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1409937">1409937</a></p> 
 <p><b>Symptom:</b> Immediately following an update statistics operation, the generated query plan does not seem to reflect the existence of statistics. For example, in a session, you create, and populate a table and then run update statistics on the table, prepare a query, and exit. A serial plan is generated and the estimated cardinality is 100 for both tables. In a new session, you prepare the same query, and a parallel plan is generated where the estimated cardinality reflects the statistics.</p> 
 <p><b>Cause:</b> This is a day-one issue.</p> 
 <p><b>Solution:</b> Retry the query after two minutes. Set <tt>CQD HIST_NO_STATS_REFRESH_INTERVAL</tt> to ‘<tt>0</tt>’. Run an <tt>UPDATE STATISTICS</tt> statement. Perform DML operations in a different session.</p> 
</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">About</li>
						<li >
							<a href="index.html" title="Project Overview">Project Overview</a>
						</li>
						<li >
							<a href="new-features.html" title="New Features">New Features</a>
						</li>
						<li >
							<a href="roadmap.html" title="Roadmap">Roadmap</a>
						</li>
						<li >
							<a href="performance.html" title="Performance">Performance</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="team-list.html" title="Team">Team</a>
						</li>
						<li >
							<a href="presentations.html" title="Presentations">Presentations</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing List">Mailing List</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="source-repository.html" title="Source Repository">Source Repository</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Using</li>
						<li >
							<a href="quickstart.html" title="Quick Start">Quick Start</a>
						</li>
						<li >
							<a href="download.html" title="Download">Download</a>
						</li>
						<li >
							<a href="install.html" title="Install">Install</a>
						</li>
						<li >
							<a href="management.html" title="Managing Trafodion">Managing Trafodion</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="documentation.html" title="Documentation">Documentation</a>
						</li>
						<li >
							<a href="faq.html" title="FAQ">FAQ</a>
						</li>
						<li >
							<a href="release-notes.html" title="Release Notes">Release Notes</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Features</li>
						<li >
							<a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a>
						</li>
						<li >
							<a href="docs/Trafodion_odb_User_Guide.pdf" title="ODB">ODB</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Contributing</li>
						<li >
							<a href="contribute.html" title="Contribute">Contribute</a>
						</li>
						<li >
							<a href="advocate.html" title="Advocate">Advocate</a>
						</li>
						<li >
							<a href="develop.html" title="Develop">Develop</a>
						</li>
						<li >
							<a href="testing.html" title="Test">Test</a>
						</li>
						<li >
							<a href="merge.html" title="Merge">Merge</a>
						</li>
						<li >
							<a href="release.html" title="Release">Release</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="create-dev-environment.html" title="Create Dev Environment">Create Dev Environment</a>
						</li>
						<li >
							<a href="manage-dev-environment.html" title="Manage Dev Environment">Manage Dev Environment</a>
						</li>
						<li >
							<a href="setup-build-environment.html" title="Setup Build Environment">Setup Build Environment</a>
						</li>
						<li >
							<a href="build.html" title="Build Trafodion">Build Trafodion</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="code.html" title="Modify Code">Modify Code</a>
						</li>
						<li >
							<a href="tests.html" title="Modify Tests">Modify Tests</a>
						</li>
						<li >
							<a href="document.html" title="Modify Documentation">Modify Documentation</a>
						</li>
						<li >
							<a href="website.html" title="Modify Web Site">Modify Web Site</a>
						</li>
						<li >
							<a href="wiki.html" title="Modify Wiki Pages">Modify Wiki Pages</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="cplusplus-coding-guidelines.html" title="C++ Coding Guidelines">C++ Coding Guidelines</a>
						</li>
					</ul>
				</div>
				<div class="span4 bottom-description">
					<blockquote><a href="http://trafodion.apache.org/">Apache Trafodion</a> is a webscale SQL-on-Hadoop solution enabling transactional or operational
          workloads on Hadoop. <br /><br />The name &quot;Trafodion&quot; (the Welsh word for transactions, pronounced
          &quot;Tra-vod-eee-on&quot;) was chosen specifically to emphasize the differentiation that 
          Trafodion provides in closing a critical gap in the Hadoop ecosystem.<br /><br />          
          Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Trafodion extends 
          Hadoop to provide guaranteed transactional integrity, enabling new kinds of big data 
          applications to run on Hadoop.</blockquote>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2015 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
		
<hr/>
<div class="row span16">
  <span>Disclaimer: Apache Trafodion is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. 
        Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making 
        process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the 
        completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</span>
  <br/>
  <br/>
  <span>Apache, Apache Maven, Apache Maven Fluido Skin, the Apache feather logo, the Apache Maven project logo and the Apache Incubator project logo 
        are trademarks of The Apache Software Foundation.</span>
  <br/>
  <br/>
  <span>
    <a target="_blank" href="http://www.apache.org">
      <img id="asf-logo" alt="Apache Software Foundation" src="images/logos/feather-small.gif"/>
    </a>
    <a target="_blank" href="http://incubator.apache.org/">
      <img id="incubator-logo" alt="Apache Incubator" src="images/logos/egg-logo.gif"/>
    </a>
  </span>
</div>			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

	<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
	<script src="./js/lightbox.min.js"></script>
	<script src="./js/reflow-scroll.js"></script>
	<script src="http://yandex.st/highlightjs/7.5/highlight.min.js"></script>

	<script src="./js/reflow-skin.js"></script>

	</body>
</html>
