Repository: phoenix Updated Branches: refs/heads/parameterize-tx-provider [created] 0b0f462bb
Stub out Omid TAL implementation Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/0b0f462b Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/0b0f462b Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/0b0f462b Branch: refs/heads/parameterize-tx-provider Commit: 0b0f462bb021ed04a0baa061ea687b4d2259f2f9 Parents: 6dbfe5d Author: James Taylor <[email protected]> Authored: Tue Oct 2 09:29:05 2018 -0700 Committer: James Taylor <[email protected]> Committed: Tue Oct 2 09:29:05 2018 -0700 ---------------------------------------------------------------------- phoenix-core/pom.xml | 46 ----- .../phoenix/coprocessor/OmidGCProcessor.java | 6 +- .../coprocessor/OmidTransactionalProcessor.java | 7 +- .../transaction/OmidTransactionContext.java | 207 +------------------ .../transaction/OmidTransactionProvider.java | 119 +---------- .../transaction/OmidTransactionTable.java | 58 +----- .../phoenix/transaction/TransactionFactory.java | 6 +- pom.xml | 46 ----- 8 files changed, 29 insertions(+), 466 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/0b0f462b/phoenix-core/pom.xml ---------------------------------------------------------------------- diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml index 94ba53d..aa59b72 100644 --- a/phoenix-core/pom.xml +++ b/phoenix-core/pom.xml @@ -204,52 +204,6 @@ </build> <dependencies> - <dependency> - <groupId>org.apache.omid</groupId> - <artifactId>omid-hbase-client</artifactId> - <version>${omid.version}</version> - <exclusions> - <exclusion> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.omid</groupId> - <artifactId>omid-hbase-coprocessor</artifactId> - <version>${omid.version}</version> - <exclusions> - <exclusion> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.omid</groupId> - <artifactId>omid-tso-server</artifactId> - <version>${omid.version}</version> - <exclusions> - <exclusion> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.omid</groupId> - <artifactId>omid-tso-server</artifactId> - <version>${omid.version}</version> - <type>test-jar</type> - <exclusions> - <exclusion> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </exclusion> - </exclusions> - </dependency> - <!-- Transaction dependencies --> <dependency> <groupId>org.apache.tephra</groupId> http://git-wip-us.apache.org/repos/asf/phoenix/blob/0b0f462b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidGCProcessor.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidGCProcessor.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidGCProcessor.java index b4a1a0f..70658fb 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidGCProcessor.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidGCProcessor.java @@ -17,15 +17,13 @@ */ package org.apache.phoenix.coprocessor; -import org.apache.omid.committable.CommitTable; -import org.apache.omid.transaction.OmidCompactor; -import org.apache.omid.transaction.OmidSnapshotFilter; +import org.apache.hadoop.hbase.coprocessor.BaseRegionObserver; public class OmidGCProcessor extends DelegateRegionObserver { public OmidGCProcessor() { - super(new OmidCompactor(true)); + super(new BaseRegionObserver()); } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/0b0f462b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidTransactionalProcessor.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidTransactionalProcessor.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidTransactionalProcessor.java index b84b5ae..fc246d4 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidTransactionalProcessor.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/OmidTransactionalProcessor.java @@ -17,16 +17,13 @@ */ package org.apache.phoenix.coprocessor; -import org.apache.omid.transaction.OmidSnapshotFilter; -import org.apache.phoenix.transaction.OmidTransactionProvider; +import org.apache.hadoop.hbase.coprocessor.BaseRegionObserver; public class OmidTransactionalProcessor extends DelegateRegionObserver { public OmidTransactionalProcessor() { - // Hack for testing - retrieves the commit table client from the singleton OmidTransactionProvider - // TODO: use real commit table and get port from config - super(new OmidSnapshotFilter(OmidTransactionProvider.getInstance().getCommitTableClient())); + super(new BaseRegionObserver()); } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/0b0f462b/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionContext.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionContext.java b/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionContext.java index 42aeb08..9edc58b 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionContext.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionContext.java @@ -18,273 +18,89 @@ package org.apache.phoenix.transaction; import java.sql.SQLException; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; import org.apache.hadoop.hbase.client.Table; -import org.apache.omid.proto.TSOProto; -import org.apache.omid.transaction.AbstractTransaction.VisibilityLevel; -import org.apache.omid.transaction.HBaseCellId; -import org.apache.omid.transaction.HBaseTransaction; -import org.apache.omid.transaction.HBaseTransactionManager; -import org.apache.omid.transaction.RollbackException; -import org.apache.omid.transaction.Transaction; -//import org.apache.omid.tso.TSOMockModule; -import org.apache.omid.transaction.Transaction.Status; -import org.apache.omid.transaction.TransactionException; -import org.apache.phoenix.exception.SQLExceptionCode; -import org.apache.phoenix.exception.SQLExceptionInfo; import org.apache.phoenix.jdbc.PhoenixConnection; import org.apache.phoenix.schema.PTable; import org.apache.phoenix.transaction.TransactionFactory.Provider; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import com.google.protobuf.InvalidProtocolBufferException; //import org.apache.omid.tso.TSOMockModule; public class OmidTransactionContext implements PhoenixTransactionContext { - private static final Logger logger = LoggerFactory.getLogger(OmidTransactionContext.class); - - private HBaseTransactionManager tm; - private HBaseTransaction tx; - public OmidTransactionContext() { - this.tx = null; - this.tm = null; } public OmidTransactionContext(PhoenixConnection connection) throws SQLException { - PhoenixTransactionClient client = connection.getQueryServices().initTransactionClient(getProvider()); - assert (client instanceof OmidTransactionProvider.OmidTransactionClient); - this.tm = ((OmidTransactionProvider.OmidTransactionClient)client).getTransactionClient(); - this.tx = null; } public OmidTransactionContext(byte[] txnBytes) throws InvalidProtocolBufferException { - this(); - if (txnBytes != null && txnBytes.length > 0) { - TSOProto.Transaction transaction = TSOProto.Transaction.parseFrom(txnBytes); - tx = new HBaseTransaction(transaction.getTimestamp(), transaction.getEpoch(), new HashSet<HBaseCellId>(), new HashSet<HBaseCellId>(), null); - } else { - tx = null; - } } public OmidTransactionContext(PhoenixTransactionContext ctx, boolean subTask) { - assert (ctx instanceof OmidTransactionContext); - OmidTransactionContext omidTransactionContext = (OmidTransactionContext) ctx; - - this.tm = omidTransactionContext.tm; - - if (subTask) { - if (omidTransactionContext.isTransactionRunning()) { - Transaction transaction = omidTransactionContext.getTransaction(); - this.tx = new HBaseTransaction(transaction.getTransactionId(), transaction.getEpoch(), new HashSet<HBaseCellId>(), new HashSet<HBaseCellId>(), this.tm, transaction.getReadTimestamp(), transaction.getWriteTimestamp()); - } else { - this.tx = null; - } - - this.tm = null; - } else { - this.tx = omidTransactionContext.getTransaction(); - } } @Override public void begin() throws SQLException { - if (tm == null) { - throw new SQLExceptionInfo.Builder( - SQLExceptionCode.NULL_TRANSACTION_CONTEXT).build() - .buildException(); - } - - - try { - tx = (HBaseTransaction) tm.begin(); - } catch (TransactionException e) { - throw new SQLExceptionInfo.Builder( - SQLExceptionCode.TRANSACTION_FAILED) - .setMessage(e.getMessage()).setRootCause(e).build() - .buildException(); - } } @Override public void commit() throws SQLException { - if (tx == null || tm == null) - return; - - try { - tm.commit(tx); - } catch (TransactionException e) { - throw new SQLExceptionInfo.Builder( - SQLExceptionCode.TRANSACTION_FAILED) - .setMessage(e.getMessage()).setRootCause(e).build() - .buildException(); - } catch (RollbackException e) { - throw new SQLExceptionInfo.Builder( - SQLExceptionCode.TRANSACTION_CONFLICT_EXCEPTION) - .setMessage(e.getMessage()).setRootCause(e).build() - .buildException(); - } } @Override public void abort() throws SQLException { - if (tx == null || tm == null || tx.getStatus() != Status.RUNNING) { - return; - } - - try { - tm.rollback(tx); - } catch (TransactionException e) { - throw new SQLExceptionInfo.Builder( - SQLExceptionCode.TRANSACTION_FAILED) - .setMessage(e.getMessage()).setRootCause(e).build() - .buildException(); - } } @Override public void checkpoint(boolean hasUncommittedData) throws SQLException { - if (hasUncommittedData) { - try { - tx.checkpoint(); - } catch (TransactionException e) { - throw new SQLException(e); - } - } - tx.setVisibilityLevel(VisibilityLevel.SNAPSHOT_EXCLUDE_CURRENT); } @Override public void commitDDLFence(PTable dataTable) throws SQLException { - - try { - tx = (HBaseTransaction) tm.fence(dataTable.getName().getBytes()); - if (logger.isInfoEnabled()) { - logger.info("Added write fence at ~" - + tx.getReadTimestamp()); - } - } catch (TransactionException e) { - throw new SQLExceptionInfo.Builder( - SQLExceptionCode.TX_UNABLE_TO_GET_WRITE_FENCE) - .setSchemaName(dataTable.getSchemaName().getString()) - .setTableName(dataTable.getTableName().getString()).build() - .buildException(); - } } @Override public void join(PhoenixTransactionContext ctx) { - - if (ctx == PhoenixTransactionContext.NULL_CONTEXT) { - return; - } - - assert (ctx instanceof OmidTransactionContext); - OmidTransactionContext omidContext = (OmidTransactionContext) ctx; - - HBaseTransaction transaction = omidContext.getTransaction(); - if (transaction == null || tx == null) return; - - Set<HBaseCellId> writeSet = transaction.getWriteSet(); - - for (HBaseCellId cell : writeSet) { - tx.addWriteSetElement(cell); - } } @Override public boolean isTransactionRunning() { - return (tx != null); + return false; } @Override public void reset() { - tx = null; } @Override public long getTransactionId() { - return tx.getTransactionId(); + return 0; } @Override public long getReadPointer() { - return tx.getReadTimestamp(); + return 0; } @Override public long getWritePointer() { - return tx.getWriteTimestamp(); + return 0; } @Override public PhoenixVisibilityLevel getVisibilityLevel() { - VisibilityLevel visibilityLevel = null; - - assert(tx != null); - visibilityLevel = tx.getVisibilityLevel(); - - PhoenixVisibilityLevel phoenixVisibilityLevel; - switch (visibilityLevel) { - case SNAPSHOT: - phoenixVisibilityLevel = PhoenixVisibilityLevel.SNAPSHOT; - break; - case SNAPSHOT_EXCLUDE_CURRENT: - phoenixVisibilityLevel = PhoenixVisibilityLevel.SNAPSHOT_EXCLUDE_CURRENT; - break; - case SNAPSHOT_ALL: - phoenixVisibilityLevel = PhoenixVisibilityLevel.SNAPSHOT_ALL; - default: - phoenixVisibilityLevel = null; - } - - return phoenixVisibilityLevel; + return null; } @Override public void setVisibilityLevel(PhoenixVisibilityLevel visibilityLevel) { - - VisibilityLevel omidVisibilityLevel = null; - - switch (visibilityLevel) { - case SNAPSHOT: - omidVisibilityLevel = VisibilityLevel.SNAPSHOT; - break; - case SNAPSHOT_EXCLUDE_CURRENT: - omidVisibilityLevel = VisibilityLevel.SNAPSHOT_EXCLUDE_CURRENT; - break; - case SNAPSHOT_ALL: - omidVisibilityLevel = VisibilityLevel.SNAPSHOT_ALL; - break; - default: - assert (false); - } - - assert(tx != null); - tx.setVisibilityLevel(omidVisibilityLevel); - } @Override public byte[] encodeTransaction() throws SQLException { - assert(tx != null); - - TSOProto.Transaction.Builder transactionBuilder = TSOProto.Transaction.newBuilder(); - - transactionBuilder.setTimestamp(tx.getTransactionId()); - transactionBuilder.setEpoch(tx.getEpoch()); - - byte[] encodedTxBytes = transactionBuilder.build().toByteArray(); - // Add code of TransactionProvider at end of byte array - encodedTxBytes = Arrays.copyOf(encodedTxBytes, encodedTxBytes.length + 1); - encodedTxBytes[encodedTxBytes.length - 1] = getProvider().getCode(); - return encodedTxBytes; + return null; } @Override @@ -294,22 +110,13 @@ public class OmidTransactionContext implements PhoenixTransactionContext { @Override public PhoenixTransactionContext newTransactionContext(PhoenixTransactionContext context, boolean subTask) { - return new OmidTransactionContext(context, subTask); + return null; } @Override public void markDMLFence(PTable dataTable) { } - /** - * OmidTransactionContext specific functions - */ - - public HBaseTransaction getTransaction() { - return tx; - } - - @Override public Table getTransactionalTable(Table htable, boolean isConflictFree) throws SQLException { return new OmidTransactionTable(this, htable, isConflictFree); http://git-wip-us.apache.org/repos/asf/phoenix/blob/0b0f462b/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionProvider.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionProvider.java b/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionProvider.java index 25171f2..be49e24 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionProvider.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionProvider.java @@ -19,32 +19,16 @@ package org.apache.phoenix.transaction; import java.io.IOException; import java.sql.SQLException; -import java.util.Arrays; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.coprocessor.RegionObserver; -import org.apache.omid.committable.CommitTable; -import org.apache.omid.committable.InMemoryCommitTable; -import org.apache.omid.transaction.HBaseOmidClientConfiguration; -import org.apache.omid.transaction.HBaseTransactionManager; -import org.apache.omid.transaction.TTable; -import org.apache.omid.tso.TSOMockModule; -import org.apache.omid.tso.TSOServer; -import org.apache.omid.tso.TSOServerConfig; -import org.apache.omid.tso.client.OmidClientConfiguration; -import org.apache.omid.tso.client.TSOClient; import org.apache.phoenix.coprocessor.OmidGCProcessor; import org.apache.phoenix.coprocessor.OmidTransactionalProcessor; -import org.apache.phoenix.exception.SQLExceptionCode; -import org.apache.phoenix.exception.SQLExceptionInfo; import org.apache.phoenix.jdbc.PhoenixConnection; import org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.ConnectionInfo; import org.apache.phoenix.transaction.TransactionFactory.Provider; -import com.google.inject.Guice; -import com.google.inject.Injector; - public class OmidTransactionProvider implements PhoenixTransactionProvider { private static final OmidTransactionProvider INSTANCE = new OmidTransactionProvider(); public static final String OMID_TSO_PORT = "phoenix.omid.tso.port"; @@ -53,9 +37,6 @@ public class OmidTransactionProvider implements PhoenixTransactionProvider { public static final int DEFAULT_OMID_TSO_CONFLICT_MAP_SIZE = 1000; public static final String DEFAULT_OMID_TSO_TIMESTAMP_TYPE = "WORLD_TIME"; - private HBaseTransactionManager transactionManager = null; - private volatile CommitTable.Client commitTableClient = null; - public static final OmidTransactionProvider getInstance() { return INSTANCE; } @@ -70,121 +51,36 @@ public class OmidTransactionProvider implements PhoenixTransactionProvider { @Override public PhoenixTransactionContext getTransactionContext(byte[] txnBytes) throws IOException { - // Remove last byte (which is used to identify transaction provider) - return new OmidTransactionContext(Arrays.copyOf(txnBytes,txnBytes.length-1)); + return null; } @Override public PhoenixTransactionContext getTransactionContext(PhoenixConnection connection) throws SQLException { - return new OmidTransactionContext(connection); + return null; } @Override public PhoenixTransactionClient getTransactionClient(Configuration config, ConnectionInfo connectionInfo) throws SQLException{ - if (transactionManager == null) { - try { - HBaseOmidClientConfiguration clientConf = new HBaseOmidClientConfiguration(); - clientConf.setConflictAnalysisLevel(OmidClientConfiguration.ConflictDetectionLevel.ROW); - transactionManager = (HBaseTransactionManager) HBaseTransactionManager.newInstance(clientConf); - } catch (IOException | InterruptedException e) { - throw new SQLExceptionInfo.Builder( - SQLExceptionCode.TRANSACTION_FAILED) - .setMessage(e.getMessage()).setRootCause(e).build() - .buildException(); - } - } - - return new OmidTransactionClient(transactionManager); + return null; } static class OmidTransactionClient implements PhoenixTransactionClient { - private final HBaseTransactionManager transactionManager; - - public OmidTransactionClient(HBaseTransactionManager transactionManager) { - this.transactionManager = transactionManager; - } - - public HBaseTransactionManager getTransactionClient() { - return transactionManager; - } - @Override public void close() throws IOException {} } - // For testing only - public CommitTable.Client getCommitTableClient() { - return commitTableClient; - } - @Override public PhoenixTransactionService getTransactionService(Configuration config, ConnectionInfo connectionInfo) throws SQLException{ - TSOServerConfig tsoConfig = new TSOServerConfig(); - TSOServer tso; - - String portStr = config.get(OMID_TSO_PORT); - if (portStr == null) { - throw new IllegalArgumentException(OMID_TSO_PORT + " config parameter must be bound"); - } - int port = Integer.parseInt(portStr); - - tsoConfig.setPort(port); - tsoConfig.setConflictMapSize(config.getInt(OMID_TSO_CONFLICT_MAP_SIZE, DEFAULT_OMID_TSO_CONFLICT_MAP_SIZE)); - tsoConfig.setTimestampType(config.get(OMID_TSO_TIMESTAMP_TYPE, DEFAULT_OMID_TSO_TIMESTAMP_TYPE)); - - Injector injector = Guice.createInjector(new TSOMockModule(tsoConfig)); - tso = injector.getInstance(TSOServer.class); - tso.startAndWait(); - - OmidClientConfiguration clientConfig = new OmidClientConfiguration(); - clientConfig.setConnectionString("localhost:" + port); - clientConfig.setConflictAnalysisLevel(OmidClientConfiguration.ConflictDetectionLevel.ROW); - - InMemoryCommitTable commitTable = (InMemoryCommitTable) injector.getInstance(CommitTable.class); - - try { - // Create the associated Handler - TSOClient client = TSOClient.newInstance(clientConfig); - - HBaseOmidClientConfiguration clientConf = new HBaseOmidClientConfiguration(); - clientConf.setConnectionString("localhost:" + port); - clientConf.setConflictAnalysisLevel(OmidClientConfiguration.ConflictDetectionLevel.ROW); - clientConf.setHBaseConfiguration(config); - commitTableClient = commitTable.getClient(); - - transactionManager = HBaseTransactionManager.builder(clientConf).commitTableClient(commitTableClient) - .tsoClient(client).build(); - } catch (IOException | InterruptedException e) { - throw new SQLExceptionInfo.Builder( - SQLExceptionCode.TRANSACTION_FAILED) - .setMessage(e.getMessage()).setRootCause(e).build() - .buildException(); - } - - return new OmidTransactionService(tso, transactionManager); + return null; } static class OmidTransactionService implements PhoenixTransactionService { - private final HBaseTransactionManager transactionManager; - private TSOServer tso; - - public OmidTransactionService(TSOServer tso, HBaseTransactionManager transactionManager) { - this.tso = tso; - this.transactionManager = transactionManager; - } public void start() { - } @Override public void close() throws IOException { - if (transactionManager != null) { - transactionManager.close(); - } - if (tso != null) { - tso.stopAndWait(); - } } } @@ -206,15 +102,10 @@ public class OmidTransactionProvider implements PhoenixTransactionProvider { @Override public boolean isUnsupported(Feature feature) { return true; - // return ( - // feature == Feature.ALTER_NONTX_TO_TX || - // feature == Feature.COLUMN_ENCODING || - // feature == Feature.MAINTAIN_LOCAL_INDEX_ON_SERVER || - // feature == Feature.SET_TTL); } @Override public Put markPutAsCommitted(Put put, long timestamp, long commitTimestamp) throws IOException { - return TTable.markPutAsCommitted(put, timestamp, timestamp); + return null; } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/0b0f462b/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionTable.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionTable.java b/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionTable.java index bb6764c..a2afcc9 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionTable.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/transaction/OmidTransactionTable.java @@ -19,7 +19,6 @@ package org.apache.phoenix.transaction; import java.io.IOException; import java.sql.SQLException; -import java.util.Arrays; import java.util.List; import java.util.Map; @@ -42,10 +41,6 @@ import org.apache.hadoop.hbase.client.coprocessor.Batch.Call; import org.apache.hadoop.hbase.client.coprocessor.Batch.Callback; import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp; import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel; -import org.apache.omid.transaction.TTable; -import org.apache.omid.transaction.Transaction; -import org.apache.phoenix.exception.SQLExceptionCode; -import org.apache.phoenix.exception.SQLExceptionInfo; import com.google.protobuf.Descriptors.MethodDescriptor; import com.google.protobuf.Message; @@ -53,109 +48,80 @@ import com.google.protobuf.Service; import com.google.protobuf.ServiceException; public class OmidTransactionTable implements Table { - // Copied from HBase ProtobufUtil since it's not accessible - final static Result EMPTY_RESULT_EXISTS_TRUE = Result.create(null, true); - - private TTable tTable; - private Transaction tx; public OmidTransactionTable() throws SQLException { - this.tTable = null; - this.tx = null; } public OmidTransactionTable(PhoenixTransactionContext ctx, Table hTable) throws SQLException { - this(ctx, hTable, false); } public OmidTransactionTable(PhoenixTransactionContext ctx, Table hTable, boolean isConflictFree) throws SQLException { - assert(ctx instanceof OmidTransactionContext); - - OmidTransactionContext omidTransactionContext = (OmidTransactionContext) ctx; - - try { - tTable = new TTable(hTable, true, isConflictFree); - } catch (IOException e) { - throw new SQLExceptionInfo.Builder( - SQLExceptionCode.TRANSACTION_FAILED) - .setMessage(e.getMessage()).setRootCause(e).build() - .buildException(); - } - - this.tx = omidTransactionContext.getTransaction(); } @Override public Result get(Get get) throws IOException { - return tTable.get(tx, get); + return null; } @Override public void put(Put put) throws IOException { - tTable.put(tx, put); } @Override public void delete(Delete delete) throws IOException { - tTable.delete(tx, delete); } @Override public ResultScanner getScanner(Scan scan) throws IOException { - scan.setTimeRange(0, Long.MAX_VALUE); - return tTable.getScanner(tx, scan); + return null; } @Override public Configuration getConfiguration() { - return tTable.getConfiguration(); + return null; } @Override public HTableDescriptor getTableDescriptor() throws IOException { - return tTable.getTableDescriptor(); + return null; } @Override public boolean exists(Get get) throws IOException { - return tTable.exists(tx, get); + return false; } @Override public Result[] get(List<Get> gets) throws IOException { - return tTable.get(tx, gets); + return null; } @Override public ResultScanner getScanner(byte[] family) throws IOException { - return tTable.getScanner(tx, family); + return null; } @Override public ResultScanner getScanner(byte[] family, byte[] qualifier) throws IOException { - return tTable.getScanner(tx, family, qualifier); + return null; } @Override public void put(List<Put> puts) throws IOException { - tTable.put(tx, puts); } @Override public void delete(List<Delete> deletes) throws IOException { - tTable.delete(tx, deletes); } @Override public void close() throws IOException { - tTable.close(); } @Override public TableName getName() { - byte[] name = tTable.getTableName(); - return TableName.valueOf(name); + return null; } @Override @@ -166,16 +132,12 @@ public class OmidTransactionTable implements Table { @Override public void batch(List<? extends Row> actions, Object[] results) throws IOException, InterruptedException { - tTable.batch(tx, actions); - Arrays.fill(results, EMPTY_RESULT_EXISTS_TRUE); } @Override public Object[] batch(List<? extends Row> actions) throws IOException, InterruptedException { - Object[] results; - batch(actions, results = new Object[actions.size()]); - return results; + return null; } @Override http://git-wip-us.apache.org/repos/asf/phoenix/blob/0b0f462b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TransactionFactory.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TransactionFactory.java b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TransactionFactory.java index 6578b69..d1d531a 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TransactionFactory.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TransactionFactory.java @@ -25,8 +25,8 @@ import org.apache.phoenix.coprocessor.MetaDataProtocol; public class TransactionFactory { public enum Provider { - TEPHRA((byte)1, TephraTransactionProvider.getInstance(), false), - OMID((byte)2, OmidTransactionProvider.getInstance(), true); + TEPHRA((byte)1, TephraTransactionProvider.getInstance(), true), + OMID((byte)2, OmidTransactionProvider.getInstance(), false); private final byte code; private final PhoenixTransactionProvider provider; @@ -50,7 +50,7 @@ public class TransactionFactory { } public static Provider getDefault() { - return OMID; + return TEPHRA; } public PhoenixTransactionProvider getTransactionProvider() { http://git-wip-us.apache.org/repos/asf/phoenix/blob/0b0f462b/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index f995134..2607039 100644 --- a/pom.xml +++ b/pom.xml @@ -101,7 +101,6 @@ <avatica.version>1.12.0</avatica.version> <jettyVersion>8.1.7.v20120910</jettyVersion> <tephra.version>0.15.0-incubating</tephra.version> - <omid.version>0.8.2.11-SNAPSHOT</omid.version> <spark.version>2.0.2</spark.version> <scala.version>2.11.8</scala.version> <scala.binary.version>2.11</scala.binary.version> @@ -812,51 +811,6 @@ <artifactId>tephra-hbase-compat-1.3</artifactId> <version>${tephra.version}</version> </dependency> - <dependency> - <groupId>org.apache.omid</groupId> - <artifactId>omid-tso-server</artifactId> - <version>${omid.version}</version> - <exclusions> - <exclusion> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.omid</groupId> - <artifactId>omid-hbase-client</artifactId> - <version>${omid.version}</version> - <exclusions> - <exclusion> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.omid</groupId> - <artifactId>omid-hbase-coprocessor</artifactId> - <version>${omid.version}</version> - <exclusions> - <exclusion> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.omid</groupId> - <artifactId>omid-tso-server</artifactId> - <version>${omid.version}</version> - <type>test-jar</type> - <exclusions> - <exclusion> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </exclusion> - </exclusions> - </dependency> <!-- Make sure we have all the antlr dependencies -->
