Separate raw client and txn client (#13)

This commit is contained in:
birdstorm 2018-12-12 20:24:12 +08:00 committed by GitHub
parent def2e5767f
commit 7ff70610f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
56 changed files with 250 additions and 252 deletions

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
@ -24,11 +24,11 @@ import io.grpc.stub.ClientCalls;
import io.grpc.stub.StreamObserver;
import java.util.function.Supplier;
import org.apache.log4j.Logger;
import org.tikv.operation.ErrorHandler;
import org.tikv.policy.RetryMaxMs.Builder;
import org.tikv.policy.RetryPolicy;
import org.tikv.streaming.StreamingResponse;
import org.tikv.util.BackOffer;
import org.tikv.common.operation.ErrorHandler;
import org.tikv.common.policy.RetryMaxMs.Builder;
import org.tikv.common.policy.RetryPolicy;
import org.tikv.common.streaming.StreamingResponse;
import org.tikv.common.util.BackOffer;
public abstract class AbstractGRPCClient<
BlockingStubT extends AbstractStub<BlockingStubT>, StubT extends AbstractStub<StubT>>

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import static com.google.common.base.Preconditions.checkNotNull;
@ -30,30 +30,20 @@ import java.util.concurrent.Future;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import org.tikv.codec.Codec.BytesCodec;
import org.tikv.codec.CodecDataOutput;
import org.tikv.exception.GrpcException;
import org.tikv.exception.TiClientInternalException;
import org.tikv.common.codec.Codec.BytesCodec;
import org.tikv.common.codec.CodecDataOutput;
import org.tikv.common.exception.GrpcException;
import org.tikv.common.exception.TiClientInternalException;
import org.tikv.common.meta.TiTimestamp;
import org.tikv.common.operation.PDErrorHandler;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.FutureObserver;
import org.tikv.kvproto.Metapb.Store;
import org.tikv.kvproto.PDGrpc;
import org.tikv.kvproto.PDGrpc.PDBlockingStub;
import org.tikv.kvproto.PDGrpc.PDStub;
import org.tikv.kvproto.Pdpb.GetMembersRequest;
import org.tikv.kvproto.Pdpb.GetMembersResponse;
import org.tikv.kvproto.Pdpb.GetRegionByIDRequest;
import org.tikv.kvproto.Pdpb.GetRegionRequest;
import org.tikv.kvproto.Pdpb.GetRegionResponse;
import org.tikv.kvproto.Pdpb.GetStoreRequest;
import org.tikv.kvproto.Pdpb.GetStoreResponse;
import org.tikv.kvproto.Pdpb.RequestHeader;
import org.tikv.kvproto.Pdpb.Timestamp;
import org.tikv.kvproto.Pdpb.TsoRequest;
import org.tikv.kvproto.Pdpb.TsoResponse;
import org.tikv.meta.TiTimestamp;
import org.tikv.operation.PDErrorHandler;
import org.tikv.region.TiRegion;
import org.tikv.util.BackOffer;
import org.tikv.util.FutureObserver;
import org.tikv.kvproto.Pdpb.*;
public class PDClient extends AbstractGRPCClient<PDBlockingStub, PDStub>
implements ReadOnlyPDClient {

View File

@ -13,14 +13,14 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import com.google.protobuf.ByteString;
import java.util.concurrent.Future;
import org.tikv.common.meta.TiTimestamp;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.BackOffer;
import org.tikv.kvproto.Metapb.Store;
import org.tikv.meta.TiTimestamp;
import org.tikv.region.TiRegion;
import org.tikv.util.BackOffer;
/** Readonly PD client including only reading related interface Supposed for TiDB-like use cases */
public interface ReadOnlyPDClient {

View File

@ -13,26 +13,26 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import static org.tikv.util.KeyRangeUtils.makeRange;
import static org.tikv.common.util.KeyRangeUtils.makeRange;
import com.google.common.collect.Range;
import com.google.protobuf.ByteString;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.tikv.exception.TiClientInternalException;
import org.tikv.key.Key;
import org.tikv.common.exception.TiClientInternalException;
import org.tikv.common.key.Key;
import org.tikv.common.meta.TiTimestamp;
import org.tikv.common.operation.iterator.ConcreteScanIterator;
import org.tikv.common.region.RegionStoreClient;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.ConcreteBackOffer;
import org.tikv.common.util.Pair;
import org.tikv.kvproto.Kvrpcpb.KvPair;
import org.tikv.kvproto.Metapb.Store;
import org.tikv.meta.TiTimestamp;
import org.tikv.operation.iterator.ConcreteScanIterator;
import org.tikv.region.RegionStoreClient;
import org.tikv.region.TiRegion;
import org.tikv.util.BackOffer;
import org.tikv.util.ConcreteBackOffer;
import org.tikv.util.Pair;
public class Snapshot {
private final TiTimestamp timestamp;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import com.google.common.collect.ImmutableList;
import com.google.common.net.HostAndPort;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import com.google.common.net.HostAndPort;
import io.grpc.ManagedChannel;
@ -21,7 +21,7 @@ import io.grpc.ManagedChannelBuilder;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.tikv.region.RegionManager;
import org.tikv.common.region.RegionManager;
public class TiSession implements AutoCloseable {
private static final Map<String, ManagedChannel> connPool = new HashMap<>();

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.codec;
package org.tikv.common.codec;
import static com.google.common.base.Preconditions.checkArgument;
@ -22,7 +22,7 @@ import java.math.BigDecimal;
import java.sql.Date;
import java.util.Arrays;
import org.joda.time.*;
import org.tikv.exception.InvalidCodecFormatException;
import org.tikv.common.exception.InvalidCodecFormatException;
public class Codec {

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.codec;
package org.tikv.common.codec;
import com.google.protobuf.ByteString;
import java.io.*;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.codec;
package org.tikv.common.codec;
import com.google.protobuf.ByteString;
import java.io.ByteArrayOutputStream;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.codec;
package org.tikv.common.codec;
import com.google.common.primitives.UnsignedBytes;
import com.google.protobuf.ByteString;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.codec;
package org.tikv.common.codec;
import com.google.common.annotations.VisibleForTesting;
import java.math.BigDecimal;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.exception;
package org.tikv.common.exception;
public class GrpcException extends RuntimeException {
public GrpcException(Exception e) {

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.exception;
package org.tikv.common.exception;
public class InvalidCodecFormatException extends RuntimeException {
public InvalidCodecFormatException(String msg) {

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.exception;
package org.tikv.common.exception;
import org.tikv.kvproto.Kvrpcpb;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.exception;
package org.tikv.common.exception;
import org.tikv.kvproto.Errorpb.Error;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.exception;
package org.tikv.common.exception;
public class TiClientInternalException extends RuntimeException {
public TiClientInternalException(String msg) {

View File

@ -13,14 +13,14 @@
* limitations under the License.
*/
package org.tikv.key;
package org.tikv.common.key;
import static java.util.Objects.requireNonNull;
import static org.tikv.codec.KeyUtils.formatBytes;
import static org.tikv.common.codec.KeyUtils.formatBytes;
import com.google.protobuf.ByteString;
import java.util.Arrays;
import org.tikv.util.FastByteComparisons;
import org.tikv.common.util.FastByteComparisons;
public class Key implements Comparable<Key> {

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.meta;
package org.tikv.common.meta;
import java.io.Serializable;

View File

@ -15,9 +15,9 @@
*
*/
package org.tikv.operation;
package org.tikv.common.operation;
import org.tikv.util.BackOffer;
import org.tikv.common.util.BackOffer;
public interface ErrorHandler<RespT> {
/**

View File

@ -15,21 +15,21 @@
*
*/
package org.tikv.operation;
package org.tikv.common.operation;
import com.google.protobuf.ByteString;
import io.grpc.Status;
import io.grpc.StatusRuntimeException;
import java.util.function.Function;
import org.apache.log4j.Logger;
import org.tikv.codec.KeyUtils;
import org.tikv.exception.GrpcException;
import org.tikv.common.codec.KeyUtils;
import org.tikv.common.exception.GrpcException;
import org.tikv.common.region.RegionErrorReceiver;
import org.tikv.common.region.RegionManager;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.BackOffFunction;
import org.tikv.common.util.BackOffer;
import org.tikv.kvproto.Errorpb;
import org.tikv.region.RegionErrorReceiver;
import org.tikv.region.RegionManager;
import org.tikv.region.TiRegion;
import org.tikv.util.BackOffFunction;
import org.tikv.util.BackOffer;
// TODO: consider refactor to Builder mode
public class KVErrorHandler<RespT> implements ErrorHandler<RespT> {

View File

@ -15,15 +15,15 @@
*
*/
package org.tikv.operation;
package org.tikv.common.operation;
import java.util.function.Function;
import org.apache.log4j.Logger;
import org.tikv.PDClient;
import org.tikv.exception.GrpcException;
import org.tikv.common.PDClient;
import org.tikv.common.exception.GrpcException;
import org.tikv.common.util.BackOffFunction;
import org.tikv.common.util.BackOffer;
import org.tikv.kvproto.Pdpb;
import org.tikv.util.BackOffFunction;
import org.tikv.util.BackOffer;
public class PDErrorHandler<RespT> implements ErrorHandler<RespT> {
private static final Logger logger = Logger.getLogger(PDErrorHandler.class);

View File

@ -13,16 +13,16 @@
* limitations under the License.
*/
package org.tikv.operation.iterator;
package org.tikv.common.operation.iterator;
import com.google.protobuf.ByteString;
import org.tikv.TiSession;
import org.tikv.common.TiSession;
import org.tikv.common.region.RegionStoreClient;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.ConcreteBackOffer;
import org.tikv.common.util.Pair;
import org.tikv.kvproto.Metapb;
import org.tikv.region.RegionStoreClient;
import org.tikv.region.TiRegion;
import org.tikv.util.BackOffer;
import org.tikv.util.ConcreteBackOffer;
import org.tikv.util.Pair;
public class ConcreteScanIterator extends ScanIterator {
private final long version;

View File

@ -13,17 +13,17 @@
* limitations under the License.
*/
package org.tikv.operation.iterator;
package org.tikv.common.operation.iterator;
import com.google.protobuf.ByteString;
import org.tikv.TiSession;
import org.tikv.key.Key;
import org.tikv.common.TiSession;
import org.tikv.common.key.Key;
import org.tikv.common.region.RegionStoreClient;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.ConcreteBackOffer;
import org.tikv.common.util.Pair;
import org.tikv.kvproto.Metapb;
import org.tikv.region.RegionStoreClient;
import org.tikv.region.TiRegion;
import org.tikv.util.BackOffer;
import org.tikv.util.ConcreteBackOffer;
import org.tikv.util.Pair;
public class RawScanIterator extends ScanIterator {

View File

@ -13,19 +13,19 @@
* limitations under the License.
*/
package org.tikv.operation.iterator;
package org.tikv.common.operation.iterator;
import static java.util.Objects.requireNonNull;
import com.google.protobuf.ByteString;
import java.util.Iterator;
import java.util.List;
import org.tikv.TiSession;
import org.tikv.exception.TiClientInternalException;
import org.tikv.key.Key;
import org.tikv.common.TiSession;
import org.tikv.common.exception.TiClientInternalException;
import org.tikv.common.key.Key;
import org.tikv.common.region.RegionManager;
import org.tikv.common.region.TiRegion;
import org.tikv.kvproto.Kvrpcpb;
import org.tikv.region.RegionManager;
import org.tikv.region.TiRegion;
public abstract class ScanIterator implements Iterator<Kvrpcpb.KvPair> {
protected final TiSession session;

View File

@ -13,10 +13,10 @@
* limitations under the License.
*/
package org.tikv.policy;
package org.tikv.common.policy;
import org.tikv.operation.ErrorHandler;
import org.tikv.util.BackOffer;
import org.tikv.common.operation.ErrorHandler;
import org.tikv.common.util.BackOffer;
public class RetryMaxMs<T> extends RetryPolicy<T> {
private RetryMaxMs(ErrorHandler<T> handler, BackOffer backOffer) {

View File

@ -13,15 +13,15 @@
* limitations under the License.
*/
package org.tikv.policy;
package org.tikv.common.policy;
import com.google.common.collect.ImmutableSet;
import io.grpc.Status;
import java.util.concurrent.Callable;
import org.tikv.exception.GrpcException;
import org.tikv.operation.ErrorHandler;
import org.tikv.util.BackOffer;
import org.tikv.util.ConcreteBackOffer;
import org.tikv.common.exception.GrpcException;
import org.tikv.common.operation.ErrorHandler;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.ConcreteBackOffer;
public abstract class RetryPolicy<RespT> {
BackOffer backOffer = ConcreteBackOffer.newCopNextMaxBackOff();

View File

@ -15,7 +15,7 @@
*
*/
package org.tikv.region;
package org.tikv.common.region;
import org.tikv.kvproto.Metapb.Store;

View File

@ -15,10 +15,10 @@
*
*/
package org.tikv.region;
package org.tikv.common.region;
import static org.tikv.codec.KeyUtils.formatBytes;
import static org.tikv.util.KeyRangeUtils.makeRange;
import static org.tikv.common.codec.KeyUtils.formatBytes;
import static org.tikv.common.util.KeyRangeUtils.makeRange;
import com.google.common.collect.RangeMap;
import com.google.common.collect.TreeRangeMap;
@ -28,16 +28,16 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.tikv.ReadOnlyPDClient;
import org.tikv.TiSession;
import org.tikv.exception.GrpcException;
import org.tikv.exception.TiClientInternalException;
import org.tikv.key.Key;
import org.tikv.common.ReadOnlyPDClient;
import org.tikv.common.TiSession;
import org.tikv.common.exception.GrpcException;
import org.tikv.common.exception.TiClientInternalException;
import org.tikv.common.key.Key;
import org.tikv.common.util.ConcreteBackOffer;
import org.tikv.common.util.Pair;
import org.tikv.kvproto.Metapb.Peer;
import org.tikv.kvproto.Metapb.Store;
import org.tikv.kvproto.Metapb.StoreState;
import org.tikv.util.ConcreteBackOffer;
import org.tikv.util.Pair;
public class RegionManager {
private static final Logger logger = Logger.getLogger(RegionManager.class);

View File

@ -15,48 +15,34 @@
*
*/
package org.tikv.region;
package org.tikv.common.region;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.tikv.util.BackOffFunction.BackOffFuncType.BoRegionMiss;
import static org.tikv.util.BackOffFunction.BackOffFuncType.BoTxnLockFast;
import static org.tikv.common.util.BackOffFunction.BackOffFuncType.BoRegionMiss;
import static org.tikv.common.util.BackOffFunction.BackOffFuncType.BoTxnLockFast;
import com.google.protobuf.ByteString;
import io.grpc.ManagedChannel;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;
import org.apache.log4j.Logger;
import org.tikv.AbstractGRPCClient;
import org.tikv.TiSession;
import org.tikv.exception.*;
import org.tikv.common.AbstractGRPCClient;
import org.tikv.common.TiSession;
import org.tikv.common.exception.KeyException;
import org.tikv.common.exception.RegionException;
import org.tikv.common.operation.KVErrorHandler;
import org.tikv.common.util.BackOffer;
import org.tikv.kvproto.Errorpb;
import org.tikv.kvproto.Kvrpcpb.BatchGetRequest;
import org.tikv.kvproto.Kvrpcpb.BatchGetResponse;
import org.tikv.kvproto.Kvrpcpb.Context;
import org.tikv.kvproto.Kvrpcpb.GetRequest;
import org.tikv.kvproto.Kvrpcpb.GetResponse;
import org.tikv.kvproto.Kvrpcpb.KvPair;
import org.tikv.kvproto.Kvrpcpb.RawBatchPutRequest;
import org.tikv.kvproto.Kvrpcpb.RawBatchPutResponse;
import org.tikv.kvproto.Kvrpcpb.RawDeleteRequest;
import org.tikv.kvproto.Kvrpcpb.RawDeleteResponse;
import org.tikv.kvproto.Kvrpcpb.RawGetRequest;
import org.tikv.kvproto.Kvrpcpb.RawGetResponse;
import org.tikv.kvproto.Kvrpcpb.RawPutRequest;
import org.tikv.kvproto.Kvrpcpb.RawPutResponse;
import org.tikv.kvproto.Kvrpcpb.RawScanRequest;
import org.tikv.kvproto.Kvrpcpb.RawScanResponse;
import org.tikv.kvproto.Kvrpcpb.ScanRequest;
import org.tikv.kvproto.Kvrpcpb.ScanResponse;
import org.tikv.kvproto.Kvrpcpb.*;
import org.tikv.kvproto.Metapb.Store;
import org.tikv.kvproto.TikvGrpc;
import org.tikv.kvproto.TikvGrpc.TikvBlockingStub;
import org.tikv.kvproto.TikvGrpc.TikvStub;
import org.tikv.operation.KVErrorHandler;
import org.tikv.txn.Lock;
import org.tikv.txn.LockResolverClient;
import org.tikv.util.BackOffer;
// RegionStore itself is not thread-safe
public class RegionStoreClient extends AbstractGRPCClient<TikvBlockingStub, TikvStub>

View File

@ -15,7 +15,7 @@
*
*/
package org.tikv.region;
package org.tikv.common.region;
import com.google.protobuf.ByteString;
import java.io.Serializable;
@ -23,16 +23,16 @@ import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import org.tikv.codec.Codec.BytesCodec;
import org.tikv.codec.CodecDataInput;
import org.tikv.codec.KeyUtils;
import org.tikv.exception.TiClientInternalException;
import org.tikv.common.codec.Codec.BytesCodec;
import org.tikv.common.codec.CodecDataInput;
import org.tikv.common.codec.KeyUtils;
import org.tikv.common.exception.TiClientInternalException;
import org.tikv.common.util.FastByteComparisons;
import org.tikv.kvproto.Kvrpcpb;
import org.tikv.kvproto.Kvrpcpb.IsolationLevel;
import org.tikv.kvproto.Metapb;
import org.tikv.kvproto.Metapb.Peer;
import org.tikv.kvproto.Metapb.Region;
import org.tikv.util.FastByteComparisons;
public class TiRegion implements Serializable {
private final Region meta;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.streaming;
package org.tikv.common.streaming;
import static java.util.Objects.requireNonNull;

View File

@ -1,7 +1,7 @@
package org.tikv.util;
package org.tikv.common.util;
import java.util.concurrent.ThreadLocalRandom;
import org.tikv.exception.GrpcException;
import org.tikv.common.exception.GrpcException;
public class BackOffFunction {
private int base;

View File

@ -15,7 +15,7 @@
*
*/
package org.tikv.util;
package org.tikv.common.util;
public interface BackOffer {
// Back off strategies

View File

@ -15,7 +15,7 @@
*
*/
package org.tikv.util;
package org.tikv.common.util;
import com.google.common.base.Preconditions;
import java.util.ArrayList;
@ -23,7 +23,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.tikv.exception.GrpcException;
import org.tikv.common.exception.GrpcException;
public class ConcreteBackOffer implements BackOffer {
private int maxSleep;

View File

@ -12,7 +12,7 @@
* express or implied. See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.tikv.util;
package org.tikv.common.util;
import com.google.common.primitives.Longs;
import com.google.common.primitives.UnsignedBytes;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.util;
package org.tikv.common.util;
import com.google.common.util.concurrent.SettableFuture;
import io.grpc.stub.StreamObserver;

View File

@ -13,17 +13,17 @@
* limitations under the License.
*/
package org.tikv.util;
package org.tikv.common.util;
import static org.tikv.key.Key.toRawKey;
import static org.tikv.common.key.Key.toRawKey;
import com.google.common.collect.BoundType;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Range;
import com.google.protobuf.ByteString;
import java.util.List;
import org.tikv.exception.TiClientInternalException;
import org.tikv.key.Key;
import org.tikv.common.exception.TiClientInternalException;
import org.tikv.common.key.Key;
import org.tikv.kvproto.Coprocessor.KeyRange;
public class KeyRangeUtils {

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.util;
package org.tikv.common.util;
import java.io.Serializable;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv.util;
package org.tikv.common.util;
import java.util.concurrent.TimeUnit;

View File

@ -1,4 +1,4 @@
package org.tikv.util;
package org.tikv.common.util;
public final class TsoUtils {
private static final long physicalShiftBits = 18;

View File

@ -1,16 +1,18 @@
package org.tikv;
package org.tikv.raw;
import com.google.protobuf.ByteString;
import java.util.*;
import org.tikv.common.TiConfiguration;
import org.tikv.common.TiSession;
import org.tikv.common.operation.iterator.RawScanIterator;
import org.tikv.common.region.RegionManager;
import org.tikv.common.region.RegionStoreClient;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.ConcreteBackOffer;
import org.tikv.common.util.Pair;
import org.tikv.kvproto.Kvrpcpb;
import org.tikv.kvproto.Metapb;
import org.tikv.operation.iterator.RawScanIterator;
import org.tikv.region.RegionManager;
import org.tikv.region.RegionStoreClient;
import org.tikv.region.TiRegion;
import org.tikv.util.BackOffer;
import org.tikv.util.ConcreteBackOffer;
import org.tikv.util.Pair;
public class RawKVClient {
private static final String DEFAULT_PD_ADDRESS = "127.0.0.1:2379";

View File

@ -17,7 +17,7 @@
package org.tikv.txn;
import static org.tikv.util.BackOffFunction.BackOffFuncType.BoRegionMiss;
import static org.tikv.common.util.BackOffFunction.BackOffFuncType.BoRegionMiss;
import com.google.protobuf.ByteString;
import io.grpc.ManagedChannel;
@ -26,10 +26,16 @@ import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.function.Supplier;
import org.apache.log4j.Logger;
import org.tikv.AbstractGRPCClient;
import org.tikv.TiSession;
import org.tikv.exception.KeyException;
import org.tikv.exception.RegionException;
import org.tikv.common.AbstractGRPCClient;
import org.tikv.common.TiSession;
import org.tikv.common.exception.KeyException;
import org.tikv.common.exception.RegionException;
import org.tikv.common.operation.KVErrorHandler;
import org.tikv.common.region.RegionErrorReceiver;
import org.tikv.common.region.TiRegion;
import org.tikv.common.region.TiRegion.RegionVerID;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.TsoUtils;
import org.tikv.kvproto.Kvrpcpb.CleanupRequest;
import org.tikv.kvproto.Kvrpcpb.CleanupResponse;
import org.tikv.kvproto.Kvrpcpb.ResolveLockRequest;
@ -38,12 +44,6 @@ import org.tikv.kvproto.Metapb.Store;
import org.tikv.kvproto.TikvGrpc;
import org.tikv.kvproto.TikvGrpc.TikvBlockingStub;
import org.tikv.kvproto.TikvGrpc.TikvStub;
import org.tikv.operation.KVErrorHandler;
import org.tikv.region.RegionErrorReceiver;
import org.tikv.region.TiRegion;
import org.tikv.region.TiRegion.RegionVerID;
import org.tikv.util.BackOffer;
import org.tikv.util.TsoUtils;
// LockResolver resolves locks and also caches resolved txn status.
public class LockResolverClient extends AbstractGRPCClient<TikvBlockingStub, TikvStub>

View File

@ -0,0 +1,5 @@
package org.tikv.txn;
public class TxnKVClient {
// TODO: To be done.
}

View File

@ -0,0 +1,29 @@
/*
* Copyright 2017 PingCAP, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.tikv.txn.exception;
import org.tikv.txn.Lock;
public class LockException extends RuntimeException {
private final Lock lock;
public LockException(Lock lock) {
this.lock = lock;
}
public Lock getLock() {
return lock;
}
}

View File

@ -13,13 +13,13 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import com.google.common.collect.Lists;
import com.google.protobuf.ByteString;
import java.util.Arrays;
import org.tikv.codec.Codec.BytesCodec;
import org.tikv.codec.CodecDataOutput;
import org.tikv.common.codec.Codec.BytesCodec;
import org.tikv.common.codec.CodecDataOutput;
import org.tikv.kvproto.Metapb.*;
import org.tikv.kvproto.Pdpb.*;

View File

@ -13,9 +13,9 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import static org.tikv.key.Key.toRawKey;
import static org.tikv.common.key.Key.toRawKey;
import com.google.common.collect.ImmutableList;
import com.google.protobuf.ByteString;
@ -27,14 +27,10 @@ import io.grpc.ServerBuilder;
import io.grpc.Status;
import java.io.IOException;
import java.net.ServerSocket;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.*;
import java.util.stream.Collectors;
import org.tikv.key.Key;
import org.tikv.common.key.Key;
import org.tikv.common.region.TiRegion;
import org.tikv.kvproto.Coprocessor;
import org.tikv.kvproto.Errorpb;
import org.tikv.kvproto.Errorpb.Error;
@ -44,7 +40,6 @@ import org.tikv.kvproto.Errorpb.StaleEpoch;
import org.tikv.kvproto.Kvrpcpb;
import org.tikv.kvproto.Kvrpcpb.Context;
import org.tikv.kvproto.TikvGrpc;
import org.tikv.region.TiRegion;
public class KVMockServer extends TikvGrpc.TikvImplBase {

View File

@ -1,14 +1,14 @@
package org.tikv;
package org.tikv.common;
import com.google.common.annotations.VisibleForTesting;
import com.google.protobuf.ByteString;
import org.junit.After;
import org.junit.Before;
import org.tikv.common.region.TiRegion;
import org.tikv.kvproto.Coprocessor;
import org.tikv.kvproto.Kvrpcpb;
import org.tikv.kvproto.Metapb;
import org.tikv.kvproto.Pdpb;
import org.tikv.region.TiRegion;
public class MockServerTest {
public KVMockServer server;

View File

@ -13,12 +13,10 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.tikv.GrpcUtils.encodeKey;
import static org.junit.Assert.*;
import static org.tikv.common.GrpcUtils.encodeKey;
import com.google.protobuf.ByteString;
import java.io.IOException;
@ -26,14 +24,14 @@ import java.util.concurrent.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.tikv.exception.GrpcException;
import org.tikv.common.exception.GrpcException;
import org.tikv.common.meta.TiTimestamp;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.ConcreteBackOffer;
import org.tikv.kvproto.Metapb;
import org.tikv.kvproto.Metapb.Store;
import org.tikv.kvproto.Metapb.StoreState;
import org.tikv.meta.TiTimestamp;
import org.tikv.region.TiRegion;
import org.tikv.util.BackOffer;
import org.tikv.util.ConcreteBackOffer;
public class PDClientTest {

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import io.grpc.Server;
import io.grpc.ServerBuilder;

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import static org.junit.Assert.*;
@ -22,12 +22,12 @@ import java.io.IOException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.tikv.common.region.RegionManager;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.Pair;
import org.tikv.kvproto.Metapb;
import org.tikv.kvproto.Metapb.Store;
import org.tikv.kvproto.Metapb.StoreState;
import org.tikv.region.RegionManager;
import org.tikv.region.TiRegion;
import org.tikv.util.Pair;
public class RegionManagerTest {
private PDMockServer server;

View File

@ -13,20 +13,19 @@
* limitations under the License.
*/
package org.tikv;
package org.tikv.common;
import static org.junit.Assert.*;
import com.google.common.collect.ImmutableList;
import com.google.protobuf.ByteString;
import com.pingcap.tidb.tipb.*;
import java.util.*;
import java.util.List;
import org.junit.Test;
import org.tikv.common.region.RegionStoreClient;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.ConcreteBackOffer;
import org.tikv.kvproto.Kvrpcpb;
import org.tikv.kvproto.Metapb;
import org.tikv.region.RegionStoreClient;
import org.tikv.util.BackOffer;
import org.tikv.util.ConcreteBackOffer;
public class RegionStoreClientTest extends MockServerTest {

View File

@ -13,13 +13,13 @@
* limitations under the License.
*/
package org.tikv.codec;
package org.tikv.common.codec;
import static org.junit.Assert.*;
import static org.tikv.codec.Codec.*;
import static org.tikv.common.codec.Codec.*;
import org.junit.Test;
import org.tikv.codec.Codec.*;
import org.tikv.common.codec.Codec.*;
public class CodecTest {
@Test

View File

@ -15,7 +15,7 @@
*
*/
package org.tikv.codec;
package org.tikv.common.codec;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;

View File

@ -13,10 +13,10 @@
* limitations under the License.
*/
package org.tikv.key;
package org.tikv.common.key;
import static org.junit.Assert.*;
import static org.tikv.key.Key.toRawKey;
import static org.junit.Assert.assertEquals;
import static org.tikv.common.key.Key.toRawKey;
import com.google.common.primitives.UnsignedBytes;
import org.junit.Test;

View File

@ -1,4 +1,4 @@
package org.tikv;
package org.tikv.raw;
import com.google.protobuf.ByteString;
import java.util.*;
@ -7,9 +7,9 @@ import java.util.stream.Collectors;
import org.apache.commons.lang3.RandomStringUtils;
import org.junit.Before;
import org.junit.Test;
import org.tikv.key.Key;
import org.tikv.common.key.Key;
import org.tikv.common.util.FastByteComparisons;
import org.tikv.kvproto.Kvrpcpb;
import org.tikv.util.FastByteComparisons;
public class RawKVClientTest {
private static final String RAW_PREFIX = "raw_\\u0001_";

View File

@ -16,39 +16,33 @@
package org.tikv.txn;
import static junit.framework.TestCase.*;
import static org.tikv.util.BackOffFunction.BackOffFuncType.BoTxnLock;
import static org.tikv.common.util.BackOffFunction.BackOffFuncType.BoTxnLock;
import com.google.protobuf.ByteString;
import com.pingcap.tidb.tipb.*;
import java.lang.reflect.Field;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;
import org.junit.Before;
import org.junit.Test;
import org.tikv.PDClient;
import org.tikv.ReadOnlyPDClient;
import org.tikv.TiConfiguration;
import org.tikv.TiSession;
import org.tikv.exception.KeyException;
import org.tikv.exception.RegionException;
import org.tikv.common.PDClient;
import org.tikv.common.ReadOnlyPDClient;
import org.tikv.common.TiConfiguration;
import org.tikv.common.TiSession;
import org.tikv.common.exception.KeyException;
import org.tikv.common.exception.RegionException;
import org.tikv.common.meta.TiTimestamp;
import org.tikv.common.operation.KVErrorHandler;
import org.tikv.common.region.RegionStoreClient;
import org.tikv.common.region.TiRegion;
import org.tikv.common.util.BackOffer;
import org.tikv.common.util.ConcreteBackOffer;
import org.tikv.common.util.Pair;
import org.tikv.kvproto.Coprocessor;
import org.tikv.kvproto.Kvrpcpb.CommitRequest;
import org.tikv.kvproto.Kvrpcpb.CommitResponse;
import org.tikv.kvproto.Kvrpcpb.IsolationLevel;
import org.tikv.kvproto.Kvrpcpb.KeyError;
import org.tikv.kvproto.Kvrpcpb.Mutation;
import org.tikv.kvproto.Kvrpcpb.Op;
import org.tikv.kvproto.Kvrpcpb.PrewriteRequest;
import org.tikv.kvproto.Kvrpcpb.PrewriteResponse;
import org.tikv.kvproto.Kvrpcpb.*;
import org.tikv.kvproto.Metapb.Store;
import org.tikv.kvproto.TikvGrpc;
import org.tikv.meta.TiTimestamp;
import org.tikv.operation.KVErrorHandler;
import org.tikv.region.RegionStoreClient;
import org.tikv.region.TiRegion;
import org.tikv.util.BackOffer;
import org.tikv.util.ConcreteBackOffer;
import org.tikv.util.Pair;
public class LockResolverTest {
private TiSession session;