You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by td...@apache.org on 2015/03/13 01:38:39 UTC
[3/3] phoenix git commit: Added test that detects write conflicts
Added test that detects write conflicts
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/b5e9396d
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b5e9396d
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b5e9396d
Branch: refs/heads/txn
Commit: b5e9396de33692991c83f275b61ec44460db674a
Parents: ed54b29
Author: Thomas D'Silva <tw...@gmail.com>
Authored: Thu Mar 12 17:36:40 2015 -0700
Committer: Thomas D'Silva <tw...@gmail.com>
Committed: Thu Mar 12 17:36:40 2015 -0700
----------------------------------------------------------------------
.../apache/phoenix/jdbc/PhoenixConnection.java | 21 ++++++--------------
.../phoenix/jdbc/PhoenixEmbeddedDriver.java | 6 +++++-
.../query/ConnectionQueryServicesImpl.java | 2 +-
3 files changed, 12 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/b5e9396d/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
index a13f75e..6d60b9c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
@@ -51,16 +51,9 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.concurrent.Executor;
-import java.util.concurrent.TimeUnit;
import javax.annotation.Nullable;
-import co.cask.tephra.TransactionAware;
-import co.cask.tephra.TransactionContext;
-import co.cask.tephra.TransactionFailureException;
-import co.cask.tephra.TransactionSystemClient;
-
-import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HConstants;
import org.apache.phoenix.call.CallRunner;
import org.apache.phoenix.exception.SQLExceptionCode;
@@ -68,11 +61,9 @@ import org.apache.phoenix.exception.SQLExceptionInfo;
import org.apache.phoenix.execute.MutationState;
import org.apache.phoenix.expression.function.FunctionArgumentType;
import org.apache.phoenix.hbase.index.util.KeyValueBuilder;
-import org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.ConnectionInfo;
import org.apache.phoenix.jdbc.PhoenixStatement.PhoenixStatementParser;
import org.apache.phoenix.query.ConnectionQueryServices;
import org.apache.phoenix.query.DelegateConnectionQueryServices;
-import org.apache.phoenix.query.HBaseFactoryProvider;
import org.apache.phoenix.query.MetaDataMutated;
import org.apache.phoenix.query.QueryConstants;
import org.apache.phoenix.query.QueryServices;
@@ -101,14 +92,14 @@ import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.ReadOnlyProps;
import org.apache.phoenix.util.SQLCloseable;
import org.apache.phoenix.util.SQLCloseables;
-import org.apache.twill.discovery.ZKDiscoveryService;
-import org.apache.twill.zookeeper.RetryStrategies;
-import org.apache.twill.zookeeper.ZKClientService;
-import org.apache.twill.zookeeper.ZKClientServices;
-import org.apache.twill.zookeeper.ZKClients;
import org.cloudera.htrace.Sampler;
import org.cloudera.htrace.TraceScope;
+import co.cask.tephra.TransactionAware;
+import co.cask.tephra.TransactionContext;
+import co.cask.tephra.TransactionFailureException;
+import co.cask.tephra.TransactionSystemClient;
+
import com.google.common.base.Objects;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap;
@@ -480,7 +471,7 @@ public class PhoenixConnection implements Connection, org.apache.phoenix.jdbc.Jd
txContext.finish();
} catch (TransactionFailureException e) {
try {
- txContext.abort();
+ txContext.abort(e);
throw new SQLExceptionInfo.Builder(
SQLExceptionCode.TRANSACTION_FINISH_EXCEPTION)
.setRootCause(e).build().buildException();
http://git-wip-us.apache.org/repos/asf/phoenix/blob/b5e9396d/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixEmbeddedDriver.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixEmbeddedDriver.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixEmbeddedDriver.java
index ff25fae..e152750 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixEmbeddedDriver.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixEmbeddedDriver.java
@@ -181,6 +181,10 @@ public abstract class PhoenixEmbeddedDriver implements Driver, org.apache.phoeni
.setMessage(url).build().buildException();
}
+ public String getZookeeperConnectionString() {
+ return getZookeeperQuorum() + ":" + getPort();
+ }
+
/**
* Detect url with quorum:1,quorum:2 as HBase does not handle different port numbers
* for different quorum hostnames.
@@ -199,7 +203,7 @@ public abstract class PhoenixEmbeddedDriver implements Driver, org.apache.phoeni
return false;
}
- protected static ConnectionInfo create(String url) throws SQLException {
+ public static ConnectionInfo create(String url) throws SQLException {
StringTokenizer tokenizer = new StringTokenizer(url == null ? "" : url.substring(PhoenixRuntime.JDBC_PROTOCOL.length()),DELIMITERS, true);
int nTokens = 0;
String[] tokens = new String[5];
http://git-wip-us.apache.org/repos/asf/phoenix/blob/b5e9396d/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 4b23d10..5abf151 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -286,7 +286,7 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement
}
private void initTxServiceClient() {
- String zkQuorumServersString = connectionInfo.getZookeeperQuorum();
+ String zkQuorumServersString = connectionInfo.getZookeeperQuorum()+":"+connectionInfo.getPort();
ZKClientService zkClientService = ZKClientServices.delegate(
ZKClients.reWatchOnExpire(
ZKClients.retryOnFailure(