You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2014/12/23 04:14:09 UTC
[26/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.
GG-9141 - Renaming.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8365bb3d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8365bb3d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8365bb3d
Branch: refs/heads/ignite-32
Commit: 8365bb3dc0444b1e0b226801c04af023fc4efcdc
Parents: 301a006
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 18:43:12 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 18:43:12 2014 -0800
----------------------------------------------------------------------
.../processors/cache/GridCacheAdapter.java | 1 +
.../cache/GridCacheSharedContext.java | 1 +
.../kernal/processors/cache/IgniteTxProxy.java | 19 --
.../processors/cache/IgniteTxProxyImpl.java | 303 ------------------
.../transactions/IgniteTxMetricsAdapter.java | 108 +++++++
.../cache/transactions/IgniteTxProxy.java | 19 ++
.../cache/transactions/IgniteTxProxyImpl.java | 304 +++++++++++++++++++
...xOriginatingNodeFailureAbstractSelfTest.java | 1 +
8 files changed, 434 insertions(+), 322 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index 643ec03..3a6d702 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -30,6 +30,7 @@ import org.gridgain.grid.kernal.processors.cache.datastructures.*;
import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
import org.gridgain.grid.kernal.processors.cache.dr.*;
import org.gridgain.grid.kernal.processors.cache.query.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
import org.gridgain.grid.kernal.processors.dr.*;
import org.gridgain.grid.kernal.processors.task.*;
import org.gridgain.grid.util.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
index 0effe1b..7912b69 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
@@ -21,6 +21,7 @@ import org.gridgain.grid.kernal.managers.communication.*;
import org.gridgain.grid.kernal.managers.deployment.*;
import org.gridgain.grid.kernal.managers.discovery.*;
import org.gridgain.grid.kernal.managers.eventstorage.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
import org.gridgain.grid.kernal.processors.timeout.*;
import org.gridgain.grid.util.future.*;
import org.gridgain.grid.util.typedef.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java
deleted file mode 100644
index 19c8116..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* @java.file.header */
-
-/* _________ _____ __________________ _____
- * __ ____/___________(_)______ /__ ____/______ ____(_)_______
- * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
- * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
- * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.transactions.*;
-
-/**
- * Marker interface for transaction proxy.
- */
-public interface IgniteTxProxy extends IgniteTx {
- // No-op.
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
deleted file mode 100644
index 7d43bc4..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/* @java.file.header */
-
-/* _________ _____ __________________ _____
- * __ ____/___________(_)______ /__ ____/______ ____(_)_______
- * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
- * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
- * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.*;
-
-/**
- * Cache transaction proxy.
- */
-public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** Wrapped transaction. */
- @GridToStringInclude
- private GridCacheTxEx<K, V> tx;
-
- /** Gateway. */
- @GridToStringExclude
- private GridCacheSharedContext<K, V> cctx;
-
- /**
- * Empty constructor required for {@link Externalizable}.
- */
- public IgniteTxProxyImpl() {
- // No-op.
- }
-
- /**
- * @param tx Transaction.
- */
- public IgniteTxProxyImpl(GridCacheTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx) {
- assert tx != null;
- assert cctx != null;
-
- this.tx = tx;
- this.cctx = cctx;
- }
-
- /**
- * Enters a call.
- */
- private void enter() {
- if (cctx.deploymentEnabled())
- cctx.deploy().onEnter();
-
- try {
- cctx.kernalContext().gateway().readLock();
- }
- catch (IllegalStateException e) {
- throw e;
- }
- catch (RuntimeException | Error e) {
- cctx.kernalContext().gateway().readUnlock();
-
- throw e;
- }
- }
-
- /**
- * Leaves a call.
- */
- private void leave() {
- try {
- CU.unwindEvicts(cctx);
- }
- finally {
- cctx.kernalContext().gateway().readUnlock();
- }
- }
-
- /** {@inheritDoc} */
- @Override public IgniteUuid xid() {
- return tx.xid();
- }
-
- /** {@inheritDoc} */
- @Override public UUID nodeId() {
- return tx.nodeId();
- }
-
- /** {@inheritDoc} */
- @Override public long threadId() {
- return tx.threadId();
- }
-
- /** {@inheritDoc} */
- @Override public long startTime() {
- return tx.startTime();
- }
-
- /** {@inheritDoc} */
- @Override public IgniteTxIsolation isolation() {
- return tx.isolation();
- }
-
- /** {@inheritDoc} */
- @Override public IgniteTxConcurrency concurrency() {
- return tx.concurrency();
- }
-
- /** {@inheritDoc} */
- @Override public boolean isInvalidate() {
- return tx.isInvalidate();
- }
-
- /** {@inheritDoc} */
- @Override public boolean implicit() {
- return tx.implicit();
- }
-
- /** {@inheritDoc} */
- @Override public long timeout() {
- return tx.timeout();
- }
-
- /** {@inheritDoc} */
- @Override public IgniteTxState state() {
- return tx.state();
- }
-
- /** {@inheritDoc} */
- @Override public long timeout(long timeout) {
- return tx.timeout(timeout);
- }
-
- /** {@inheritDoc} */
- @Override public boolean setRollbackOnly() {
- enter();
-
- try {
- return tx.setRollbackOnly();
- }
- finally {
- leave();
- }
- }
-
- /** {@inheritDoc} */
- @Override public boolean isRollbackOnly() {
- enter();
-
- try {
- return tx.isRollbackOnly();
- }
- finally {
- leave();
- }
- }
-
- /** {@inheritDoc} */
- @Override public void commit() throws IgniteCheckedException {
- enter();
-
- try {
- cctx.commitTxAsync(tx).get();
- }
- finally {
- leave();
- }
- }
-
- /** {@inheritDoc} */
- @Override public void close() throws IgniteCheckedException {
- enter();
-
- try {
- cctx.endTx(tx);
- }
- finally {
- leave();
- }
- }
-
- /** {@inheritDoc} */
- @Override public IgniteFuture<IgniteTx> commitAsync() {
- enter();
-
- try {
-
- return cctx.commitTxAsync(tx);
- }
- finally {
- leave();
- }
- }
-
- /** {@inheritDoc} */
- @Override public void rollback() throws IgniteCheckedException {
- enter();
-
- try {
- cctx.rollbackTx(tx);
- }
- finally {
- leave();
- }
- }
-
- /** {@inheritDoc} */
- @Override public void copyMeta(GridMetadataAware from) {
- tx.copyMeta(from);
- }
-
- /** {@inheritDoc} */
- @Override public void copyMeta(Map<String, ?> data) {
- tx.copyMeta(data);
- }
-
- /** {@inheritDoc} */
- @Override public <V1> V1 addMeta(String name, V1 val) {
- return tx.addMeta(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public <V1> V1 putMetaIfAbsent(String name, V1 val) {
- return tx.putMetaIfAbsent(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public <V1> V1 putMetaIfAbsent(String name, Callable<V1> c) {
- return tx.putMetaIfAbsent(name, c);
- }
-
- /** {@inheritDoc} */
- @Nullable @Override public <V1> V1 addMetaIfAbsent(String name, V1 val) {
- return tx.addMeta(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public <V1> V1 addMetaIfAbsent(String name, @Nullable Callable<V1> c) {
- return tx.addMetaIfAbsent(name, c);
- }
-
- /** {@inheritDoc} */
- @SuppressWarnings({"RedundantTypeArguments"})
- @Override public <V1> V1 meta(String name) {
- return tx.<V1>meta(name);
- }
-
- /** {@inheritDoc} */
- @SuppressWarnings({"RedundantTypeArguments"})
- @Override public <V1> V1 removeMeta(String name) {
- return tx.<V1>removeMeta(name);
- }
-
- /** {@inheritDoc} */
- @Override public <V1> boolean removeMeta(String name, V1 val) {
- return tx.removeMeta(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public <V1> Map<String, V1> allMeta() {
- return tx.allMeta();
- }
-
- /** {@inheritDoc} */
- @Override public boolean hasMeta(String name) {
- return tx.hasMeta(name);
- }
-
- /** {@inheritDoc} */
- @Override public <V1> boolean hasMeta(String name, V1 val) {
- return tx.hasMeta(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public <V1> boolean replaceMeta(String name, V1 curVal, V1 newVal) {
- return tx.replaceMeta(name, curVal, newVal);
- }
-
- /** {@inheritDoc} */
- @Override public void writeExternal(ObjectOutput out) throws IOException {
- out.writeObject(tx);
- }
-
- /** {@inheritDoc} */
- @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- tx = (GridCacheTxAdapter<K, V>)in.readObject();
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(IgniteTxProxyImpl.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMetricsAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMetricsAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMetricsAdapter.java
new file mode 100644
index 0000000..ff0ffab
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMetricsAdapter.java
@@ -0,0 +1,108 @@
+/* @java.file.header */
+
+/* _________ _____ __________________ _____
+ * __ ____/___________(_)______ /__ ____/______ ____(_)_______
+ * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
+ * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
+ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.io.*;
+
+/**
+ * Tx metrics adapter.
+ */
+public class IgniteTxMetricsAdapter implements IgniteTxMetrics, Externalizable {
+ /** Number of transaction commits. */
+ private volatile int txCommits;
+
+ /** Number of transaction rollbacks. */
+ private volatile int txRollbacks;
+
+ /** Last commit time. */
+ private volatile long commitTime;
+
+ /** Last rollback time. */
+ private volatile long rollbackTime;
+
+ /**
+ *
+ */
+ public IgniteTxMetricsAdapter() {
+
+ }
+
+ /**
+ * @param m Transaction metrics to copy.
+ */
+ public IgniteTxMetricsAdapter(IgniteTxMetrics m) {
+ commitTime = m.commitTime();
+ rollbackTime = m.rollbackTime();
+ txCommits = m.txCommits();
+ txRollbacks = m.txRollbacks();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long commitTime() {
+ return commitTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long rollbackTime() {
+ return rollbackTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int txCommits() {
+ return txCommits;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int txRollbacks() {
+ return txRollbacks;
+ }
+
+ /**
+ * Transaction commit callback.
+ */
+ public void onTxCommit() {
+ commitTime = U.currentTimeMillis();
+
+ txCommits++;
+ }
+
+ /**
+ * Transaction rollback callback.
+ */
+ public void onTxRollback() {
+ rollbackTime = U.currentTimeMillis();
+
+ txRollbacks++;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeLong(commitTime);
+ out.writeLong(rollbackTime);
+ out.writeInt(txCommits);
+ out.writeInt(txRollbacks);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ commitTime = in.readLong();
+ rollbackTime = in.readLong();
+ txCommits = in.readInt();
+ txRollbacks = in.readInt();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(IgniteTxMetricsAdapter.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxy.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxy.java
new file mode 100644
index 0000000..d281765
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxy.java
@@ -0,0 +1,19 @@
+/* @java.file.header */
+
+/* _________ _____ __________________ _____
+ * __ ____/___________(_)______ /__ ____/______ ____(_)_______
+ * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
+ * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
+ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.transactions.*;
+
+/**
+ * Marker interface for transaction proxy.
+ */
+public interface IgniteTxProxy extends IgniteTx {
+ // No-op.
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
new file mode 100644
index 0000000..e41a5ad
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
@@ -0,0 +1,304 @@
+/* @java.file.header */
+
+/* _________ _____ __________________ _____
+ * __ ____/___________(_)______ /__ ____/______ ____(_)_______
+ * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
+ * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
+ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.util.tostring.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+import java.util.concurrent.*;
+
+/**
+ * Cache transaction proxy.
+ */
+public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Wrapped transaction. */
+ @GridToStringInclude
+ private GridCacheTxEx<K, V> tx;
+
+ /** Gateway. */
+ @GridToStringExclude
+ private GridCacheSharedContext<K, V> cctx;
+
+ /**
+ * Empty constructor required for {@link Externalizable}.
+ */
+ public IgniteTxProxyImpl() {
+ // No-op.
+ }
+
+ /**
+ * @param tx Transaction.
+ */
+ public IgniteTxProxyImpl(GridCacheTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx) {
+ assert tx != null;
+ assert cctx != null;
+
+ this.tx = tx;
+ this.cctx = cctx;
+ }
+
+ /**
+ * Enters a call.
+ */
+ private void enter() {
+ if (cctx.deploymentEnabled())
+ cctx.deploy().onEnter();
+
+ try {
+ cctx.kernalContext().gateway().readLock();
+ }
+ catch (IllegalStateException e) {
+ throw e;
+ }
+ catch (RuntimeException | Error e) {
+ cctx.kernalContext().gateway().readUnlock();
+
+ throw e;
+ }
+ }
+
+ /**
+ * Leaves a call.
+ */
+ private void leave() {
+ try {
+ CU.unwindEvicts(cctx);
+ }
+ finally {
+ cctx.kernalContext().gateway().readUnlock();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteUuid xid() {
+ return tx.xid();
+ }
+
+ /** {@inheritDoc} */
+ @Override public UUID nodeId() {
+ return tx.nodeId();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long threadId() {
+ return tx.threadId();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long startTime() {
+ return tx.startTime();
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteTxIsolation isolation() {
+ return tx.isolation();
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteTxConcurrency concurrency() {
+ return tx.concurrency();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isInvalidate() {
+ return tx.isInvalidate();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean implicit() {
+ return tx.implicit();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long timeout() {
+ return tx.timeout();
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteTxState state() {
+ return tx.state();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long timeout(long timeout) {
+ return tx.timeout(timeout);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean setRollbackOnly() {
+ enter();
+
+ try {
+ return tx.setRollbackOnly();
+ }
+ finally {
+ leave();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isRollbackOnly() {
+ enter();
+
+ try {
+ return tx.isRollbackOnly();
+ }
+ finally {
+ leave();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public void commit() throws IgniteCheckedException {
+ enter();
+
+ try {
+ cctx.commitTxAsync(tx).get();
+ }
+ finally {
+ leave();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public void close() throws IgniteCheckedException {
+ enter();
+
+ try {
+ cctx.endTx(tx);
+ }
+ finally {
+ leave();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteFuture<IgniteTx> commitAsync() {
+ enter();
+
+ try {
+
+ return cctx.commitTxAsync(tx);
+ }
+ finally {
+ leave();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public void rollback() throws IgniteCheckedException {
+ enter();
+
+ try {
+ cctx.rollbackTx(tx);
+ }
+ finally {
+ leave();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public void copyMeta(GridMetadataAware from) {
+ tx.copyMeta(from);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void copyMeta(Map<String, ?> data) {
+ tx.copyMeta(data);
+ }
+
+ /** {@inheritDoc} */
+ @Override public <V1> V1 addMeta(String name, V1 val) {
+ return tx.addMeta(name, val);
+ }
+
+ /** {@inheritDoc} */
+ @Override public <V1> V1 putMetaIfAbsent(String name, V1 val) {
+ return tx.putMetaIfAbsent(name, val);
+ }
+
+ /** {@inheritDoc} */
+ @Override public <V1> V1 putMetaIfAbsent(String name, Callable<V1> c) {
+ return tx.putMetaIfAbsent(name, c);
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public <V1> V1 addMetaIfAbsent(String name, V1 val) {
+ return tx.addMeta(name, val);
+ }
+
+ /** {@inheritDoc} */
+ @Override public <V1> V1 addMetaIfAbsent(String name, @Nullable Callable<V1> c) {
+ return tx.addMetaIfAbsent(name, c);
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings({"RedundantTypeArguments"})
+ @Override public <V1> V1 meta(String name) {
+ return tx.<V1>meta(name);
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings({"RedundantTypeArguments"})
+ @Override public <V1> V1 removeMeta(String name) {
+ return tx.<V1>removeMeta(name);
+ }
+
+ /** {@inheritDoc} */
+ @Override public <V1> boolean removeMeta(String name, V1 val) {
+ return tx.removeMeta(name, val);
+ }
+
+ /** {@inheritDoc} */
+ @Override public <V1> Map<String, V1> allMeta() {
+ return tx.allMeta();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean hasMeta(String name) {
+ return tx.hasMeta(name);
+ }
+
+ /** {@inheritDoc} */
+ @Override public <V1> boolean hasMeta(String name, V1 val) {
+ return tx.hasMeta(name, val);
+ }
+
+ /** {@inheritDoc} */
+ @Override public <V1> boolean replaceMeta(String name, V1 curVal, V1 newVal) {
+ return tx.replaceMeta(name, curVal, newVal);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(tx);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ tx = (GridCacheTxAdapter<K, V>)in.readObject();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(IgniteTxProxyImpl.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
index d7da1ab..5e0560e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
@@ -20,6 +20,7 @@ import org.gridgain.grid.kernal.*;
import org.gridgain.grid.kernal.managers.communication.*;
import org.gridgain.grid.kernal.processors.cache.*;
import org.apache.ignite.spi.communication.tcp.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
import org.gridgain.grid.util.direct.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.grid.util.lang.*;