版本1.0.1
下载以及安装这个版本的Trafodion,请看安装页
1.0.1 新特征
版本1.0.1与版本1.0.0有着相同的特征。但在1.0.1中,功能在表中搜集进程与统计信息 被激活并且待上线。并且Java(SPJs)存储过程的性能也有了提高。有关该版本中新功能的列表信息,请参考1.0.0 新功能。
1.0.1 修复的问题
1.0.1 已修复的问题:
- #1415165 MXOSRVR memory leak when stats are enabled
- #1421727 Default/aggregated stats type not publishing query stats
- #1416539 Snapshot scan installer additions
- #1413418 Need metadata upgrade option in installer
1.0.1 临时解决的已知问题
请参考1.0.0 临时解决的已知问题。
版本1.0.0
下载以及安装这个版本的Trafodion,请看安装页
1.0.0 新功能
这个版本包括下面这些新增及加强的功能
分类 | 功能 |
---|---|
高可用性 | 待上线版:
|
性能 | 待上线版:
有关自动更新统计信息以及加强索引支持的更多信息,请参考Trafodion_Client_Installation_Guide_1.1.0.pdf。 |
使用性 |
|
数据库迁移与连接 | 待上线版: 有关新的UNLOAD语句的详细信息,请参考Trafodion SQL Reference Manual (pdf, 3.9 MB)。 |
管理 | 待上线版:
技术预览:
有关搜集SQL运行时间的统计以及终止一个正在运行中的查询,请查看Trafodion SQL Reference Manual (pdf, 3.9 MB)。 |
安全 | 待上线版:
对在这个版本中ANSI schema支持以及权限更新的更多信息,请参考 Trafodion SQL Reference Manual (pdf, 3.9 MB)。 |
可扩展性 |
|
1.0.0 修复的问题
这个版本包括85个问题的修复,其中有25个紧急问题,54个严重问题,以及10个中等及以下问题。这些问题被列在Launchpad。
1.0.0 临时解决的已知问题
Bug #1274651: Getting TM error 97 when tables split or get moved.
症状: HBase Region拆分、负载均衡和错误97
起因: 作为 HBase 环境正在进行的操作的一部分 (和基于 HBase 环境配置的策略),HBase region既能被拆分(成为两个子region)或者迁移到别的region服务器上。(请参考博客:http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/ 。)如果这样,当 Trafodion 事务处于活动状态 (并且对正在被拆分或负载均衡的region中的行进行操作),那么该应用程序对后续事务的递交操作可能会遇到错误 97。请注意在这种情况下,Trafodion 事务管理器将中止该事务,以维护数据库的完整性。
解决方案: 为了减轻上述危害,我们建议你使用如下一个或多个方法:
- 当一个提交操作返回错误97时,你可以通过增强你JDBC的应用逻辑来重试这个提交操作。
- 更新 HBase 配置,以减少这种危害发生的次数。它涉及到对 hbase site.xml(或通过你Hadoop 发行的管理性接口)进行一些属性的更新。
- 设置HBase Region中文件大小上限为100GB。例如:将属性hbase.hregion.max.filesize的值设置为107374182400。
设置HBase region拆分策略为'ConstantSizeRegionSplitPolicy'。例如:将属性hbase.regionserver.region.split.policy的值设置为org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy.
注: 在Trafodion的安装脚本中,拆分策略已经被设置成为'ConstantSizeRegionSplitPolicy'。 参阅Installer Modifications to HBase。
总结:
属性 值 hbase.hregion.max.filesize 107374182400 hbase.regionserver.region.split.policy org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy (请参考博客: http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/ )
- 禁用HBase Region负载均衡。通过HBase shell命令
balance_switch false
来取消对某个region从一个服务器到另一个服务器的迁移。
例:# hbase shell hbase(main):002:0> balance_switch false true <-- 该结果是balance_switch最后设置的值 0 row(s) in 0.0080 seconds- 在新建表的时候,预先通过子句‘SALT USING <n> PARTITIONS’ 来将表拆分成多个region。你指定的分区数可以是目前HBase集群region数的一个功能。下面是一个简单的例子,关于表‘INVENTORY’ 在新建的时候如何被预先拆分成4个region:
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 ;
Bug #1274962: EXECUTE.BATCH update creates core-file
症状: EXECUTE.BATCH在更新时,系统长时间未响应,并产生了core文件。
起因: 待定。
解决方案: Batch更新以及ODBC行部署不能工作。
Bug #1391271: Random update statistics failures with HBase OutOfOrderScannerNextException
症状: 在执行update statistics命令时,遇见HBase OutOfOrderScannerNextException的错误。
起因: 当给定一张表时,默认的
hbase.rpc.timeout
以及hbase.client.scanner.timeout.period
的值可能太小了。更新统计信息的采样是使用 HBase 随机 RowFilter 来实现的。对于几个亿行这样非常大的表,用100万行作为样本,其采样率是非常小的。这可能会导致HBase 客户端连接超时错误,因为可能在一个长时间里,RegionServer 没有行返回。解决方案: 提高
hbase.rpc.timeout
与hbase.client.scanner.timeout.period
的值。我们发现,将这两个值增加到600秒(10分钟),有时会阻止许多与超时有关的错误。更多信息,请参考HBase配置与调优推荐。如果提高
hbase.rpc.timeout
与hbase.client.scanner.timeout.period
的值并不能起效,那试试增加选取样本的大小。对大表采用高于默认100万行的样本。例如,假设表 T 有 10 亿行,下面的UPDATE STATISTICS语句将用100万行,也就是大约总体的千分之一作为样本:update statistics for table T on every column sample;如果想用所有行的百分之一作为样本,而不管表的具体大小,你必须如下明确取样率:
update statistics for table T on every column sample random 1 percent;
Bug #1409937: Following update statistics, stats do not take effect immediately.
症状:统计信息刚更新好的时候,生成的查询计划不反映该统计信息。例如,在一个会话中,你创建一张表,并插入值,然后在表上运行更新统计信息(update statistics),再prepare一条查询语句,最后退出。这时系统生成了一个执行计划,并得到了预估基数100。如果打开一个新的连接(session),你prepare一条相同的语句,这时也会有一条平行的执行计划生成,这时预估基数就能反应统计信息。
起因: 这是一个day-one的问题。
解决方案: 两分钟之后重试该查询语句。设置CQD HIST_NO_STATS_REFRESH_INTERVAL为'0'并执行UPDATE STATISTICS语句。在不同的连接(session)中执行DML操作。