
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2020-05-02
 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.1</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="//netdna.bootstrapcdn.com/bootswatch/2.3.2/cerulean/bootstrap.min.css" rel="stylesheet" />
		<link href="//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="//yandex.st/highlightjs/7.5/styles/default.min.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]-->



		<!-- Google Analytics -->
		<script type="text/javascript">

			var _gaq = _gaq || [];
			_gaq.push(['_setAccount', 'UA-72491210-1']);
			_gaq.push(['_trackPageview']);

			(function() {
				var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
				ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
				var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
			})();

		</script>
		</head>

	<body class="page-release-notes-1-0-1 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"><span class="brand-apache">Apache </span><span class="brand-trafodion">Trafodion</span> <span class="brand-apache"></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 ><a href="quickstart.html" title="Quick Start">Quick Start</a></li>
							<li ><a href="documentation.html" title="Documentation">Documentation</a></li>
							<li ><a href="contributing-redirect.html" title="Contribute">Contribute</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Project <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Overview">Overview</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>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Apache+Trafodion+Home" title="Wiki" class="externalLink">Wiki</a></li>
									<li ><a href="https://www.youtube.com/playlist?list=PLyyCp3HBB8Tv9696OnG0_mmgF5tfHeyOi" title="Videos" class="externalLink">Videos</a></li>
									<li ><a href="management.html" title="Managing Trafodion">Managing Trafodion</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Roadmap" title="Roadmap" class="externalLink">Roadmap</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="team-redirect.html" title="Team">Team</a></li>
									<li ><a href="presentations.html" title="Presentations">Presentations</a></li>
									<li ><a href="http://www.apache.org/events/current-event.html" title="Events" class="externalLink">Events</a></li>
									<li ><a href="logo.html" title="Logo">Logo</a></li>
									<li ><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
									<li ><a href="http://im.qq.com" title="QQ (Group ID: 233105278)" class="externalLink">QQ (Group ID: 233105278)</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="http://www.apache.org/security/" title="Security" class="externalLink">Security</a></li>
									<li ><a href="mailto:security@trafodion.apache.org" title="Report Security Issue" class="externalLink">Report Security Issue</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">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://cwiki.apache.org/confluence/display/TRAFODION/Trafodion+Manageability#TrafodionManageability-LoggingEvents" 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://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="https://cwiki.apache.org/confluence/display/TRAFODION/Tutorial:+The+object-oriented+UDF+interface" title="Object-Oriented UDF Tutorial" class="externalLink">Object-Oriented UDF Tutorial</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://cwiki.apache.org/confluence/display/TRAFODION/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="http:divider" title=""></a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Backup+and+Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/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">Apache <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<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><img src="images/logos/trafodion-logo.jpg" alt="Trafodion Logo" width="383"></h1></a>
					<p class="lead">Transactional SQL-on-Hadoop Database</p>
				</div>
				<div class="pull-right">
					<a href="https://www.apache.org/events/current-event.html" id="bannerRight"><h1><img src="https://www.apache.org/events/current-event-125x125.png" alt="Apache Events" width="125"></h1></a>
				</div>
			</div>
		</div>
	</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 product-level collection of query statistics and critical bug fixes above <a href="release-notes-1-0-0.html">1.0.0</a>.</p> 
<p>Build instructions are available <a href="build.html">here</a>.</p> 
<h1 id="supported_platforms">Supported Platforms</h1> 
<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_Manual.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_Manual.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> 
     <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_Manual.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_Manual.pdf">Trafodion SQL Reference Manual</a>. </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>Release 1.0.1 provides fixes to these bugs:</p> 
<ul> 
 <li><b><a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1415165">1415165</a></b>: MXOSRVR memory leak when stats are enabled</li> 
 <li><b><a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1421727">1421727</a></b>: Default/aggregated stats type not publishing query stats</li> 
 <li><b><a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1416539">1416539</a></b> Snapshot scan installer additions</li> 
 <li><b><a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1413418">1413418</a></b>: Need metadata upgrade option in installer</li> 
</ul> 
<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="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Project</li>
						<li >
							<a href="index.html" title="Overview">Overview</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>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Apache+Trafodion+Home" title="Wiki" class="externalLink">Wiki</a>
						</li>
						<li >
							<a href="https://www.youtube.com/playlist?list=PLyyCp3HBB8Tv9696OnG0_mmgF5tfHeyOi" title="Videos" class="externalLink">Videos</a>
						</li>
						<li >
							<a href="management.html" title="Managing Trafodion">Managing Trafodion</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Roadmap" title="Roadmap" class="externalLink">Roadmap</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="team-redirect.html" title="Team">Team</a>
						</li>
						<li >
							<a href="presentations.html" title="Presentations">Presentations</a>
						</li>
						<li >
							<a href="http://www.apache.org/events/current-event.html" title="Events" class="externalLink">Events</a>
						</li>
						<li >
							<a href="logo.html" title="Logo">Logo</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
						</li>
						<li >
							<a href="http://im.qq.com" title="QQ (Group ID: 233105278)" class="externalLink">QQ (Group ID: 233105278)</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="http://www.apache.org/security/" title="Security" class="externalLink">Security</a>
						</li>
						<li >
							<a href="mailto:security@trafodion.apache.org" title="Report Security Issue" class="externalLink">Report Security Issue</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
					</ul>
				</div>
				<div class="span4 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://cwiki.apache.org/confluence/display/TRAFODION/Trafodion+Manageability#TrafodionManageability-LoggingEvents" 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://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="https://cwiki.apache.org/confluence/display/TRAFODION/Tutorial:+The+object-oriented+UDF+interface" title="Object-Oriented UDF Tutorial" class="externalLink">Object-Oriented UDF Tutorial</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://cwiki.apache.org/confluence/display/TRAFODION/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="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Backup+and+Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Metadata+Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</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-2020 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
		
<hr/>
<div class="row span16">
  <span>Apache, Apache Maven, Apache Maven Fluido Skin, the Apache feather logo, and the Apache Maven project logo
        are trademarks of the Apache Software Foundation.</span>
  <br/>
  <br/>
</div>			</div>
		</div>
	</div>

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

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

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

	</body>
</html>
