Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

optimize ttl (#2669) #2671

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions tikv-client/src/main/java/com/pingcap/tikv/TiSession.java
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,10 @@ public static TiSession getInstance(TiConfiguration conf) {
}
}


public ChannelFactory getChannelFactory() {
return this.channelFactory;
}

public TxnKVClient createTxnClient() {
return new TxnKVClient(conf, this.getRegionStoreClientBuilder(), this.getPDClient());
}
Expand Down Expand Up @@ -224,9 +223,7 @@ public Map<String, Boolean> getStoreStatusCache() {
storeStatusCacheExecutor.scheduleAtFixedRate(
() -> {
storeStatusCache.replaceAll(
(k, v) ->
RegionStoreClient.isMppAlive(
channelFactory.getChannel(k)));
(k, v) -> RegionStoreClient.isMppAlive(channelFactory.getChannel(k)));
},
0,
5,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,14 @@ public class TwoPhaseCommitter {
private final ExecutorService executorService;

public TwoPhaseCommitter(TiConfiguration conf, long startTime) {
this(conf, startTime, DEFAULT_BATCH_WRITE_LOCK_TTL);
}

public TwoPhaseCommitter(TiConfiguration conf, long startTime, long lockTTL) {
this.kvClient = TiSession.getInstance(conf).createTxnClient();
this.regionManager = kvClient.getRegionManager();
this.startTs = startTime;
this.lockTTL = DEFAULT_BATCH_WRITE_LOCK_TTL;
this.lockTTL = lockTTL;
this.retryCommitSecondaryKeys = true;
this.txnPrewriteBatchSize = TXN_COMMIT_BATCH_SIZE;
this.txnCommitBatchSize = TXN_COMMIT_BATCH_SIZE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ public final class RowIDAllocator implements Serializable {
private final long step;
private long end;
private TiTimestamp timestamp;
private final long RowIDAllocatorTTL = 10000;

private static final Logger LOG = LoggerFactory.getLogger(RowIDAllocator.class);

Expand Down Expand Up @@ -141,8 +142,10 @@ private void set(@Nonnull List<BytePairWrapper> pairs, @Nonnull TiTimestamp time
if (!iterator.hasNext()) {
return;
}

TiSession session = TiSession.getInstance(conf);
TwoPhaseCommitter twoPhaseCommitter = new TwoPhaseCommitter(conf, timestamp.getVersion());
TwoPhaseCommitter twoPhaseCommitter =
new TwoPhaseCommitter(conf, timestamp.getVersion(), RowIDAllocatorTTL);
BytePairWrapper primaryPair = iterator.next();
twoPhaseCommitter.prewritePrimaryKey(
ConcreteBackOffer.newCustomBackOff(BackOffer.PREWRITE_MAX_BACKOFF),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -286,11 +286,7 @@ public Boolean isMppStoreAlive(String address) {
Map<String, Boolean> storeStatusCache = session.getStoreStatusCache();
return storeStatusCache.computeIfAbsent(
address,
key ->
RegionStoreClient.isMppAlive(
session
.getChannelFactory()
.getChannel(address)));
key -> RegionStoreClient.isMppAlive(session.getChannelFactory().getChannel(address)));
} catch (Exception e) {
throw new TiClientInternalException("Error get MppStore Status.", e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public RegionManager(ReadOnlyPDClient pdClient) {
}

public synchronized void setCacheInvalidateCallback(
Function<CacheInvalidateEvent, Void> cacheInvalidateCallback) {
Function<CacheInvalidateEvent, Void> cacheInvalidateCallback) {
this.cacheInvalidateCallback = cacheInvalidateCallback;
}

Expand Down