You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/12/06 22:08:00 UTC

[jira] [Commented] (TRAFODION-2827) Turn CQD HBASE_UPDATE_COSTING 'ON' by default

    [ https://issues.apache.org/jira/browse/TRAFODION-2827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16281004#comment-16281004 ] 

ASF GitHub Bot commented on TRAFODION-2827:
-------------------------------------------

GitHub user DaveBirdsall opened a pull request:

    https://github.com/apache/incubator-trafodion/pull/1326

    [TRAFODION-2827] Turn update costing code on by default

    This pull request changes the default for CQD HBASE_UPDATE_COSTING to 'ON'.
    
    The former setting ('OFF') used stub code for update costing, which assigned a zero cost to all update operations. Among other effects, it would cause update statements to always get serial plans.
    
    The new setting uses a different set of stub code. That code is a copy of the delete costing code. I call it "stub" code because the theory of operation of update is somewhat different than that for delete. Nevertheless, this code should give much better plans than the former stub.
    
    Also included in this pull request are updated expected files for five regression tests. In all these cases, an update plan flipped from an update node to a tuple_flow(scan,update) plan. Except for unique row accesses, the latter plan should always be superior.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/DaveBirdsall/incubator-trafodion Trafodion2827

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-trafodion/pull/1326.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1326
    
----

----


> Turn CQD HBASE_UPDATE_COSTING 'ON' by default
> ---------------------------------------------
>
>                 Key: TRAFODION-2827
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-2827
>             Project: Apache Trafodion
>          Issue Type: Improvement
>          Components: sql-cmp
>            Reporter: David Wayne Birdsall
>            Assignee: David Wayne Birdsall
>
> There are presently two sets of stubbed costing code for HBase updates in the Optimizer. The original set simply gives a zero cost to any update node. This is the original stub, and is the one executed by default. The second stub is a copy of the delete costing code, and is executed if CQD HBASE_UPDATE_COSTING is 'ON'. This is much better, because it at least assigns non-zero costs to update nodes. One can get parallel plans for larger update statements using this code, while all plans for the original stub are serial. It isn't perfect, because the theory of operation for update is a bit different than delete, but it should be much better for all but the most trivial update statements.
> As we are beginning to see applications using Trafodion that have larger update statements, it makes sense to change the default for CQD HBASE_UPDATE_COSTING to 'ON' now.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)