ASF GitHub Bot commented on TRAFODION-1435:

GitHub user sbroeder opened a pull request:


    Changes for JIRA [TRAFODION-1435]

    Second set of region transaction operations - delete, checkAndDelete
    Merges from HEAD
    changes from previous review comments 

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

    $ git pull https://github.com/sbroeder/incubator-trafodion sean_traf

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


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

    This closes #720
commit 1e4a88d3017a796ae37103c808645a75b2b53921
Author: Sean Broeder <sbroeder@edev06.esgyn.local>
Date:   2016-09-20T00:11:49Z

    Second set of changes for JIRA [TRAFODION-1435]
    Region operations performed transactionally for delete, chackAndDelete
    Improved endpoint coprocessor exception logging

commit 33b235a4da12893832f49cf1ed74e5d07b10a3e2
Author: Sean Broeder <sbroeder@edev06.esgyn.local>
Date:   2016-09-20T04:05:43Z

    Merge branch 'master' of github.com:apache/incubator-trafodion into 

commit 508b8cfdbc1d6b1272ee19ebc0e2372daa702f95
Author: Sean Broeder <sbroeder@edev06.esgyn.local>
Date:   2016-09-22T02:51:30Z

    Merge branch 'master' of github.com:apache/incubator-trafodion into 

commit 594298f2ba886dac9ec27aac800a8a975d4d5a18
Author: Sean Broeder <sbroeder@edev06.esgyn.local>
Date:   2016-09-22T03:30:10Z

    Merging HEAD and addressing review comments for JIRA [TRAFODION-1435]


> SQL operations not always performed transactionally with AUTOCOMMIT OFF
> -----------------------------------------------------------------------
>                 Key: TRAFODION-1435
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-1435
>             Project: Apache Trafodion
>          Issue Type: Improvement
>          Components: dtm
>    Affects Versions: 0.6 (pre-incubation)
>            Reporter: Sean Broeder
>            Assignee: Sean Broeder
>   Original Estimate: 672h
>  Remaining Estimate: 672h
> For single region, single row operations (both IDU DML as well as select) SQL 
> will avoid beginning a transaction and perform the operation directly in 
> HBase.
> The feeling was that for single row operations a trasnaction was not 
> necessary as HBase would make the operation atomic and provide the necessary 
> guarantees.  The problem is this circumvents the endpoint coprocessor and 
> makes conflict detection with other concurrent transactions impossible.
> For performance reasons we should try to approximate the autocommit behavior 
> as much as possible while preserving the conflict detection.  We can achieve 
> this by implementing 'region transactions' whereby the region will create its 
> own transaction identifier when a nontransactional operation arrives in the 
> coprocessor.  We will need to override all HTable nontransactional operations 
> in both the TransactionalTable and SsccTransactionalTable classes.  The 
> override will create a new transaction identifier specific to the region 
> transaction and then use that for all modifications as if it were issued by 
> the DTM.
> The transaction identifier needs to be unique so that other threads 
> performing similar operations do not get confused at conflict resolution 
> time.  One possibility is to maintain an AtomicLong in the region that can be 
> incremented whenever such a transaction is needed.  This keeps all processing 
> inside the region and eliminates any RPC to another server process.

This message was sent by Atlassian JIRA

Reply via email to