[
https://issues.apache.org/jira/browse/PHOENIX-1674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15013870#comment-15013870
]
ASF GitHub Bot commented on PHOENIX-1674:
-----------------------------------------
Github user JamesRTaylor commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/129#discussion_r45368191
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java ---
@@ -570,6 +946,97 @@ public void rollback(PhoenixConnection connection)
throws SQLException {
@Override
public void close() throws SQLException {
}
+
+ private void reset() {
+ txStarted = false;
+ tx = null;
+ uncommittedPhysicalNames.clear();
+ }
+
+ public void rollback() throws SQLException {
+ clear();
+ txAwares.clear();
+ if (txContext != null) {
+ try {
+ if (txStarted) {
+ txContext.abort();
+ }
+ } catch (TransactionFailureException e) {
+ throw new SQLException(e); // TODO: error code
+ } finally {
+ reset();
+ }
+ }
+ }
+
+ public void commit() throws SQLException {
+ boolean sendMutationsFailed=false;
+ try {
+ send();
+ } catch (Throwable t) {
+ sendMutationsFailed=true;
+ throw t;
+ } finally {
+ txAwares.clear();
+ if (txContext != null) {
+ try {
+ if (txStarted && !sendMutationsFailed) {
+ txContext.finish();
+ }
+ } catch (TransactionFailureException e) {
+ try {
+ txContext.abort(e);
+ throw TransactionUtil.getSQLException(e);
+ } catch (TransactionFailureException e1) {
+ throw TransactionUtil.getSQLException(e);
+ }
+ } finally {
+ if (!sendMutationsFailed) {
+ reset();
+ }
+ }
+ }
+ }
+ }
+
+ /**
--- End diff --
Slight tweak to this comment:
Support read-your-own-write semantics by sending uncommitted data to HBase
prior to running
a query. In this way, they are visible to subsequent reads but are not
actually committed until
commit is called.
> Snapshot isolation transaction support through Tephra
> -----------------------------------------------------
>
> Key: PHOENIX-1674
> URL: https://issues.apache.org/jira/browse/PHOENIX-1674
> Project: Phoenix
> Issue Type: Improvement
> Reporter: James Taylor
> Labels: SFDC
>
> Tephra (http://tephra.io/ and https://github.com/caskdata/tephra) is one
> option for getting transaction support in Phoenix. Let's use this JIRA to
> discuss the way in which this could be integrated along with the pros and
> cons.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)