[ https://issues.apache.org/jira/browse/TRAFODION-1435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15505119#comment-15505119 ]
ASF GitHub Bot commented on TRAFODION-1435: ------------------------------------------- GitHub user sbroeder opened a pull request: https://github.com/apache/incubator-trafodion/pull/712 Second set of changes for JIRA [TRAFODION-1435] Region operations performed transactionally for delete, chackAndDelete Improved endpoint coprocessor exception logging 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: https://github.com/apache/incubator-trafodion/pull/712.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 #712 ---- commit ac28331a6b6e7fc08f07a377b673a420e4d7f099 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 ---- > 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 (v6.3.4#6332)