From b66d18902072fe36ef2cc81af09af2c7357d0533 Mon Sep 17 00:00:00 2001 From: iosmanthus Date: Thu, 16 Dec 2021 16:11:00 +0800 Subject: [PATCH] upgrade log4j and slf4j Signed-off-by: iosmanthus --- pom.xml | 4 +-- .../java/org/tikv/cdc/RegionCDCClient.java | 5 +-- .../org/tikv/common/AbstractGRPCClient.java | 13 +++---- .../common/catalog/CatalogTransaction.java | 7 +++- .../common/importer/ImporterStoreClient.java | 3 +- .../java/org/tikv/common/log/SlowLogImpl.java | 2 +- .../tikv/common/operation/PDErrorHandler.java | 3 +- .../common/predicates/TiKVScanAnalyzer.java | 23 +++++++------ .../region/AbstractRegionStoreClient.java | 7 ++-- .../org/tikv/common/region/RegionCache.java | 34 +++++++------------ .../org/tikv/common/region/RegionManager.java | 6 +++- .../tikv/common/region/RegionStoreClient.java | 12 +++---- .../tikv/common/util/ConcreteBackOffer.java | 12 ++++--- .../java/org/tikv/raw/SmartRawKVClient.java | 11 +++--- .../service/failsafe/CircuitBreakerImpl.java | 3 +- .../failsafe/CircuitBreakerMetricsImpl.java | 4 ++- src/main/java/org/tikv/txn/TTLManager.java | 7 ++-- .../java/org/tikv/txn/TwoPhaseCommitter.java | 22 ++++++------ 18 files changed, 98 insertions(+), 80 deletions(-) diff --git a/pom.xml b/pom.xml index 794a9f3e849..22caa6f7b1c 100644 --- a/pom.xml +++ b/pom.xml @@ -63,8 +63,8 @@ UTF-8 6.22.1.1 3.5.1 - 1.2.17 - 1.7.16 + 2.15 + 2.0.0-alpha5 1.38.0 2.0.34.Final 2.8.5 diff --git a/src/main/java/org/tikv/cdc/RegionCDCClient.java b/src/main/java/org/tikv/cdc/RegionCDCClient.java index d118c7793b0..ca8177ac618 100644 --- a/src/main/java/org/tikv/cdc/RegionCDCClient.java +++ b/src/main/java/org/tikv/cdc/RegionCDCClient.java @@ -26,6 +26,7 @@ import org.tikv.kvproto.Coprocessor.KeyRange; class RegionCDCClient implements AutoCloseable, StreamObserver { + private static final Logger LOGGER = LoggerFactory.getLogger(RegionCDCClient.class); private static final AtomicLong REQ_ID_COUNTER = new AtomicLong(0); private static final Set ALLOWED_LOGTYPE = @@ -127,7 +128,7 @@ public void close() throws Exception { channel.shutdown(); } try { - LOGGER.debug("awaitTermination (region: {})", region.getId()); + LOGGER.atDebug().log("awaitTermination (region: {})", region.getId()); channel.awaitTermination(60, TimeUnit.SECONDS); } catch (final InterruptedException e) { LOGGER.error("Failed to shutdown channel(regionId: {})", region.getId()); @@ -178,7 +179,7 @@ public void onNext(final ChangeDataEvent event) { } private void submitEvent(final CDCEvent event) { - LOGGER.debug("submit event: {}", event); + LOGGER.atDebug().log("submit event: {}", event); eventConsumer.accept(event); } } diff --git a/src/main/java/org/tikv/common/AbstractGRPCClient.java b/src/main/java/org/tikv/common/AbstractGRPCClient.java index a3c4ed5efff..bdbef7a93cb 100644 --- a/src/main/java/org/tikv/common/AbstractGRPCClient.java +++ b/src/main/java/org/tikv/common/AbstractGRPCClient.java @@ -42,6 +42,7 @@ public abstract class AbstractGRPCClient< BlockingStubT extends AbstractStub, FutureStubT extends AbstractFutureStub> implements AutoCloseable { + protected final Logger logger = LoggerFactory.getLogger(this.getClass()); protected final ChannelFactory channelFactory; protected TiConfiguration conf; @@ -105,7 +106,7 @@ protected void callAsyncWithRetry( Supplier requestFactory, StreamObserver responseObserver, ErrorHandler handler) { - logger.debug(String.format("Calling %s...", method.getFullMethodName())); + logger.atDebug().log("Calling {}...", method.getFullMethodName()); RetryPolicy.Builder builder = new Builder<>(backOffer); builder @@ -121,7 +122,7 @@ protected void callAsyncWithRetry( }, method.getFullMethodName(), backOffer); - logger.debug(String.format("leaving %s...", method.getFullMethodName())); + logger.atDebug().log("Leaving {}...", method.getFullMethodName()); } StreamObserver callBidiStreamingWithRetry( @@ -129,7 +130,7 @@ StreamObserver callBidiStreamingWithRetry( MethodDescriptor method, StreamObserver responseObserver, ErrorHandler> handler) { - logger.debug(String.format("Calling %s...", method.getFullMethodName())); + logger.atDebug().log("Calling {}...", method.getFullMethodName()); RetryPolicy.Builder> builder = new Builder<>(backOffer); StreamObserver observer = @@ -143,7 +144,7 @@ StreamObserver callBidiStreamingWithRetry( }, method.getFullMethodName(), backOffer); - logger.debug(String.format("leaving %s...", method.getFullMethodName())); + logger.atDebug().log("Leaving {}...", method.getFullMethodName()); return observer; } @@ -152,7 +153,7 @@ public StreamingResponse callServerStreamingWithRetry( MethodDescriptor method, Supplier requestFactory, ErrorHandler handler) { - logger.debug(String.format("Calling %s...", method.getFullMethodName())); + logger.atDebug().log("Calling {}...", method.getFullMethodName()); RetryPolicy.Builder builder = new Builder<>(backOffer); StreamingResponse response = @@ -167,7 +168,7 @@ public StreamingResponse callServerStreamingWithRetry( }, method.getFullMethodName(), backOffer); - logger.debug(String.format("leaving %s...", method.getFullMethodName())); + logger.atDebug().log("Leaving {}...", method.getFullMethodName()); return response; } diff --git a/src/main/java/org/tikv/common/catalog/CatalogTransaction.java b/src/main/java/org/tikv/common/catalog/CatalogTransaction.java index e28335cc01a..5b4ea66bf4f 100644 --- a/src/main/java/org/tikv/common/catalog/CatalogTransaction.java +++ b/src/main/java/org/tikv/common/catalog/CatalogTransaction.java @@ -37,6 +37,7 @@ import org.tikv.common.util.Pair; public class CatalogTransaction { + protected static final Logger logger = LoggerFactory.getLogger(CatalogTransaction.class); private final Snapshot snapshot; @@ -48,7 +49,11 @@ public static T parseFromJson(ByteString json, Class cls) { Objects.requireNonNull(json, "json is null"); Objects.requireNonNull(cls, "cls is null"); - logger.debug(String.format("Parse Json %s : %s", cls.getSimpleName(), json.toStringUtf8())); + logger + .atDebug() + .addArgument(cls::getSimpleName) + .addArgument(json::toStringUtf8) + .log("Parse Json {} : {}"); ObjectMapper mapper = new ObjectMapper(); try { return mapper.readValue(json.toStringUtf8(), cls); diff --git a/src/main/java/org/tikv/common/importer/ImporterStoreClient.java b/src/main/java/org/tikv/common/importer/ImporterStoreClient.java index f3aa929e117..fe70cd9fa09 100644 --- a/src/main/java/org/tikv/common/importer/ImporterStoreClient.java +++ b/src/main/java/org/tikv/common/importer/ImporterStoreClient.java @@ -191,6 +191,7 @@ protected ImportSSTGrpc.ImportSSTStub getStub() { public void close() throws Exception {} public static class ImporterStoreClientBuilder { + private final TiConfiguration conf; private final ChannelFactory channelFactory; private final RegionManager regionManager; @@ -214,7 +215,7 @@ public synchronized ImporterStoreClient build(TiStore store) throws GrpcExceptio Objects.requireNonNull(store, "store is null"); String addressStr = store.getStore().getAddress(); - logger.debug(String.format("Create region store client on address %s", addressStr)); + logger.atDebug().log("Create region store client on address {}", addressStr); ManagedChannel channel = channelFactory.getChannel(addressStr, pdClient.getHostMapping()); ImportSSTGrpc.ImportSSTBlockingStub blockingStub = ImportSSTGrpc.newBlockingStub(channel); diff --git a/src/main/java/org/tikv/common/log/SlowLogImpl.java b/src/main/java/org/tikv/common/log/SlowLogImpl.java index 3a722b90476..aa5c61ed5bb 100644 --- a/src/main/java/org/tikv/common/log/SlowLogImpl.java +++ b/src/main/java/org/tikv/common/log/SlowLogImpl.java @@ -73,7 +73,7 @@ public void setError(Throwable err) { public void log() { long currentMS = System.currentTimeMillis(); if (error != null || (slowThresholdMS >= 0 && currentMS - startMS > slowThresholdMS)) { - logger.warn("SlowLog:" + getSlowLogString(currentMS)); + logger.atWarn().addArgument(() -> getSlowLogString(currentMS)).log("SlowLog:{}"); } } diff --git a/src/main/java/org/tikv/common/operation/PDErrorHandler.java b/src/main/java/org/tikv/common/operation/PDErrorHandler.java index 421755164ee..825006fdd5d 100644 --- a/src/main/java/org/tikv/common/operation/PDErrorHandler.java +++ b/src/main/java/org/tikv/common/operation/PDErrorHandler.java @@ -32,6 +32,7 @@ import org.tikv.kvproto.Pdpb; public class PDErrorHandler implements ErrorHandler { + public static final Function getRegionResponseErrorExtractor = r -> r.getHeader().hasError() @@ -62,7 +63,7 @@ public boolean handleResponseError(BackOffer backOffer, RespT resp) { client.updateLeaderOrforwardFollower(); return true; case REGION_PEER_NOT_ELECTED: - logger.debug(error.getMessage()); + logger.atDebug().log(error.getMessage()); backOffer.doBackOff( BackOffFunction.BackOffFuncType.BoPDRPC, new GrpcException(error.toString())); return true; diff --git a/src/main/java/org/tikv/common/predicates/TiKVScanAnalyzer.java b/src/main/java/org/tikv/common/predicates/TiKVScanAnalyzer.java index 4e133a9356d..249ba21542e 100644 --- a/src/main/java/org/tikv/common/predicates/TiKVScanAnalyzer.java +++ b/src/main/java/org/tikv/common/predicates/TiKVScanAnalyzer.java @@ -57,6 +57,7 @@ import org.tikv.kvproto.Coprocessor.KeyRange; public class TiKVScanAnalyzer { + private static final double INDEX_SCAN_COST_FACTOR = 1.2; private static final double TABLE_SCAN_COST_FACTOR = 1.0; private static final double DOUBLE_READ_COST_FACTOR = TABLE_SCAN_COST_FACTOR * 3; @@ -437,6 +438,7 @@ boolean isCoveringIndex( } public static class TiKVScanPlan { + private final Map> keyRanges; private final Set filters; private final double cost; @@ -502,6 +504,7 @@ public TiStoreType getStoreType() { } public static class Builder { + private final String tableName; private final Logger logger = LoggerFactory.getLogger(getClass().getName()); private Map> keyRanges; @@ -593,17 +596,15 @@ private void debug(IndexScanType scanType) { plan = "None"; desc = ""; } - logger.debug( - "[Table:" - + tableName - + "][" - + plan - + ":" - + desc - + "] cost=" - + cost - + " estimated row count=" - + estimatedRowCount); + logger + .atDebug() + .log( + "[Table:{}][{}:{}] cost={} estimated row count={}", + tableName, + plan, + desc, + cost, + estimatedRowCount); } // TODO: Fine-grained statistics usage diff --git a/src/main/java/org/tikv/common/region/AbstractRegionStoreClient.java b/src/main/java/org/tikv/common/region/AbstractRegionStoreClient.java index cfa2eb27e70..34b8827a75a 100644 --- a/src/main/java/org/tikv/common/region/AbstractRegionStoreClient.java +++ b/src/main/java/org/tikv/common/region/AbstractRegionStoreClient.java @@ -45,6 +45,7 @@ public abstract class AbstractRegionStoreClient extends AbstractGRPCClient implements RegionErrorReceiver { + private static final Logger logger = LoggerFactory.getLogger(AbstractRegionStoreClient.class); public static final Histogram SEEK_LEADER_STORE_DURATION = @@ -109,9 +110,7 @@ public void close() throws GrpcException {} */ @Override public boolean onNotLeader(TiRegion newRegion) { - if (logger.isDebugEnabled()) { - logger.debug(region + ", new leader = " + newRegion.getLeader().getStoreId()); - } + logger.atDebug().log("{}, new leader = {}", region, newRegion.getLeader().getStoreId()); // When switch leader fails or the region changed its region epoch, // it would be necessary to re-split task's key range for new region. if (!region.getRegionEpoch().equals(newRegion.getRegionEpoch())) { @@ -353,6 +352,7 @@ private TiStore switchProxyStore() { } private static class SwitchLeaderTask { + private final ListenableFuture task; private final Metapb.Peer peer; @@ -363,6 +363,7 @@ private SwitchLeaderTask(ListenableFuture task, Metapb.P } private static class ForwardCheckTask { + private final ListenableFuture task; private final Metapb.Store store; diff --git a/src/main/java/org/tikv/common/region/RegionCache.java b/src/main/java/org/tikv/common/region/RegionCache.java index f9d848ac9d3..c7e45e08782 100644 --- a/src/main/java/org/tikv/common/region/RegionCache.java +++ b/src/main/java/org/tikv/common/region/RegionCache.java @@ -16,6 +16,7 @@ import org.tikv.common.util.BackOffer; public class RegionCache { + private static final Logger logger = LoggerFactory.getLogger(RegionCache.class); private final Map regionCache; @@ -43,26 +44,23 @@ public synchronized TiRegion getRegionByKey(ByteString key, BackOffer backOffer) } else { regionId = keyToRegionIdCache.get(Key.toRawKey(key)); } - if (logger.isDebugEnabled()) { - logger.debug( - String.format("getRegionByKey key[%s] -> ID[%s]", formatBytesUTF8(key), regionId)); - } + logger + .atDebug() + .addArgument(() -> formatBytesUTF8(key)) + .addArgument(() -> regionId) + .log("getRegionByKey key[{}] -> ID[{}]"); if (regionId == null) { return null; } TiRegion region; region = regionCache.get(regionId); - if (logger.isDebugEnabled()) { - logger.debug(String.format("getRegionByKey ID[%s] -> Region[%s]", regionId, region)); - } + logger.atDebug().log("getRegionByKey ID[{}] -> Region[{}]", regionId, region); return region; } public synchronized TiRegion putRegion(TiRegion region) { - if (logger.isDebugEnabled()) { - logger.debug("putRegion: " + region); - } + logger.atDebug().log("putRegion: {}", region); TiRegion oldRegion = regionCache.get(region.getId()); if (oldRegion != null) { if (oldRegion.getMeta().equals(region.getMeta())) { @@ -79,9 +77,7 @@ public synchronized TiRegion putRegion(TiRegion region) { @Deprecated public synchronized TiRegion getRegionById(long regionId) { TiRegion region = regionCache.get(regionId); - if (logger.isDebugEnabled()) { - logger.debug(String.format("getRegionByKey ID[%s] -> Region[%s]", regionId, region)); - } + logger.atDebug().log("getRegionByKey ID[{}] -> Region[{}]", regionId, region); return region; } @@ -92,9 +88,7 @@ private synchronized TiRegion getRegionFromCache(long regionId) { /** Removes region associated with regionId from regionCache. */ public synchronized void invalidateRegion(TiRegion region) { try { - if (logger.isDebugEnabled()) { - logger.debug(String.format("invalidateRegion ID[%s]", region.getId())); - } + logger.atDebug().log("invalidateRegion ID[{}]", region.getId()); TiRegion oldRegion = regionCache.get(region.getId()); if (oldRegion != null && oldRegion == region) { keyToRegionIdCache.remove(makeRange(region.getStartKey(), region.getEndKey())); @@ -118,9 +112,7 @@ public synchronized void insertRegionToCache(TiRegion region) { public synchronized boolean updateRegion(TiRegion expected, TiRegion region) { try { - if (logger.isDebugEnabled()) { - logger.debug(String.format("invalidateRegion ID[%s]", region.getId())); - } + logger.atDebug().log("invalidateRegion ID[{}]", region.getId()); TiRegion oldRegion = regionCache.get(region.getId()); if (!expected.getMeta().equals(oldRegion.getMeta())) { return false; @@ -162,9 +154,7 @@ public synchronized void invalidateAllRegionForStore(TiStore store) { List regionToRemove = new ArrayList<>(); for (TiRegion r : regionCache.values()) { if (r.getLeader().getStoreId() == store.getId()) { - if (logger.isDebugEnabled()) { - logger.debug(String.format("invalidateAllRegionForStore Region[%s]", r)); - } + logger.atDebug().log("invalidateAllRegionForStore Region[{}]", r); regionToRemove.add(r); } } diff --git a/src/main/java/org/tikv/common/region/RegionManager.java b/src/main/java/org/tikv/common/region/RegionManager.java index b9fc08d73fd..bdad1e72b92 100644 --- a/src/main/java/org/tikv/common/region/RegionManager.java +++ b/src/main/java/org/tikv/common/region/RegionManager.java @@ -44,6 +44,7 @@ @SuppressWarnings("UnstableApiUsage") public class RegionManager { + private static final Logger logger = LoggerFactory.getLogger(RegionManager.class); public static final Histogram GET_REGION_BY_KEY_REQUEST_LATENCY = Histogram.build() @@ -105,7 +106,10 @@ public TiRegion getRegionByKey(ByteString key, BackOffer backOffer) { TiRegion region = cache.getRegionByKey(key, backOffer); try { if (region == null) { - logger.debug("Key not found in keyToRegionIdCache:" + formatBytesUTF8(key)); + logger + .atDebug() + .addArgument(() -> formatBytesUTF8(key)) + .log("Key not found in keyToRegionIdCache:{}"); Pair regionAndLeader = pdClient.getRegionByKey(backOffer, key); region = cache.putRegion(createRegion(regionAndLeader.first, regionAndLeader.second, backOffer)); diff --git a/src/main/java/org/tikv/common/region/RegionStoreClient.java b/src/main/java/org/tikv/common/region/RegionStoreClient.java index 4b6452f8ac8..a2a5965b833 100644 --- a/src/main/java/org/tikv/common/region/RegionStoreClient.java +++ b/src/main/java/org/tikv/common/region/RegionStoreClient.java @@ -63,6 +63,7 @@ /** Note that RegionStoreClient itself is not thread-safe */ public class RegionStoreClient extends AbstractRegionStoreClient { + private static final Logger logger = LoggerFactory.getLogger(RegionStoreClient.class); @VisibleForTesting public final AbstractLockResolverClient lockResolverClient; private final TiStoreType storeType; @@ -118,9 +119,7 @@ private RegionStoreClient( regionManager.getRegionStorePairByKey(region.getStartKey(), TiStoreType.TiKV).second; String addressStr = tikvStore.getStore().getAddress(); - if (logger.isDebugEnabled()) { - logger.debug(String.format("Create region store client on address %s", addressStr)); - } + logger.atDebug().log("Create region store client on address {}", addressStr); ManagedChannel channel = channelFactory.getChannel(addressStr, pdClient.getHostMapping()); TikvBlockingStub tikvBlockingStub = TikvGrpc.newBlockingStub(channel); @@ -647,7 +646,7 @@ private List handleCopResponse( if (response.hasLocked()) { Lock lock = new Lock(response.getLocked()); - logger.debug(String.format("coprocessor encounters locks: %s", lock)); + logger.atDebug().log("coprocessor encounters locks: {}", lock); ResolveLockResult resolveLockResult = lockResolverClient.resolveLocks( backOffer, startTs, Collections.singletonList(lock), forWrite); @@ -1232,6 +1231,7 @@ public int getValue() { } public static class RegionStoreClientBuilder { + private final TiConfiguration conf; private final ChannelFactory channelFactory; private final RegionManager regionManager; @@ -1258,9 +1258,7 @@ public RegionStoreClient build(TiRegion region, TiStore store, TiStoreType store Objects.requireNonNull(storeType, "storeType is null"); String addressStr = store.getStore().getAddress(); - if (logger.isDebugEnabled()) { - logger.debug(String.format("Create region store client on address %s", addressStr)); - } + logger.atDebug().log("Create region store client on address {}", addressStr); ManagedChannel channel = null; TikvBlockingStub blockingStub = null; diff --git a/src/main/java/org/tikv/common/util/ConcreteBackOffer.java b/src/main/java/org/tikv/common/util/ConcreteBackOffer.java index 355c9ff6023..4310112e322 100644 --- a/src/main/java/org/tikv/common/util/ConcreteBackOffer.java +++ b/src/main/java/org/tikv/common/util/ConcreteBackOffer.java @@ -35,6 +35,7 @@ import org.tikv.common.log.SlowLogSpan; public class ConcreteBackOffer implements BackOffer { + private static final Logger logger = LoggerFactory.getLogger(ConcreteBackOffer.class); private final int maxSleep; private final Map backOffFunctionMap; @@ -203,10 +204,13 @@ public boolean canRetryAfterSleep(BackOffFunction.BackOffFuncType funcType, long @Override public void doBackOffWithMaxSleep( BackOffFunction.BackOffFuncType funcType, long maxSleepMs, Exception err) { - logger.debug( - String.format( - "%s, retry later(totalSleep %dms, maxSleep %dms)", - err.getMessage(), totalSleep, maxSleep)); + logger + .atDebug() + .log( + "{}, retry later(totalSleep {}ms, maxSleep {}ms)", + err.getMessage(), + totalSleep, + maxSleep); errors.add(err); if (!canRetryAfterSleep(funcType, maxSleepMs)) { logThrowError(err); diff --git a/src/main/java/org/tikv/raw/SmartRawKVClient.java b/src/main/java/org/tikv/raw/SmartRawKVClient.java index fcca8945137..31a29cbb215 100644 --- a/src/main/java/org/tikv/raw/SmartRawKVClient.java +++ b/src/main/java/org/tikv/raw/SmartRawKVClient.java @@ -30,6 +30,7 @@ import org.tikv.service.failsafe.CircuitBreaker; public class SmartRawKVClient implements RawKVClientBase { + private static final Logger logger = LoggerFactory.getLogger(SmartRawKVClient.class); private static final Histogram REQUEST_LATENCY = @@ -226,21 +227,21 @@ private T callWithCircuitBreaker0(String funcName, Function1 func) { throw e; } } else if (circuitBreaker.attemptExecution()) { - logger.debug("attemptExecution"); + logger.atDebug().log("attemptExecution"); try { T result = func.apply(); circuitBreaker.getMetrics().recordSuccess(); circuitBreaker.recordAttemptSuccess(); - logger.debug("markSuccess"); + logger.atDebug().log("markSuccess"); return result; } catch (Exception e) { circuitBreaker.getMetrics().recordFailure(); circuitBreaker.recordAttemptFailure(); - logger.debug("markNonSuccess"); + logger.atDebug().log("markNonSuccess"); throw e; } } else { - logger.debug("Circuit Breaker Opened"); + logger.atDebug().log("Circuit Breaker Opened"); CIRCUIT_BREAKER_OPENED.labels(funcName).inc(); throw new CircuitBreakerOpenException(); } @@ -262,10 +263,12 @@ public void close() throws Exception { } public interface Function1 { + T apply(); } public interface Function0 { + void apply(); } } diff --git a/src/main/java/org/tikv/service/failsafe/CircuitBreakerImpl.java b/src/main/java/org/tikv/service/failsafe/CircuitBreakerImpl.java index 7f2231bd7ab..d3ac641449d 100644 --- a/src/main/java/org/tikv/service/failsafe/CircuitBreakerImpl.java +++ b/src/main/java/org/tikv/service/failsafe/CircuitBreakerImpl.java @@ -24,6 +24,7 @@ import org.tikv.common.TiConfiguration; public class CircuitBreakerImpl implements CircuitBreaker { + private static final Logger logger = LoggerFactory.getLogger(CircuitBreakerImpl.class); private static final Counter CIRCUIT_BREAKER_ATTEMPT_COUNTER = @@ -77,7 +78,7 @@ public CircuitBreakerImpl( private MetricsListener getMetricsListener() { return hc -> { - logger.debug("onNext " + hc.toString()); + logger.atDebug().log("onNext {}", hc); // check if we are past the requestVolumeThreshold if (hc.getTotalRequests() < requestVolumeThreshold) { // we are not past the minimum volume threshold for the stat window, diff --git a/src/main/java/org/tikv/service/failsafe/CircuitBreakerMetricsImpl.java b/src/main/java/org/tikv/service/failsafe/CircuitBreakerMetricsImpl.java index da497efcb71..7d70728b807 100644 --- a/src/main/java/org/tikv/service/failsafe/CircuitBreakerMetricsImpl.java +++ b/src/main/java/org/tikv/service/failsafe/CircuitBreakerMetricsImpl.java @@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory; public class CircuitBreakerMetricsImpl implements CircuitBreakerMetrics { + private static final Logger logger = LoggerFactory.getLogger(CircuitBreakerMetricsImpl.class); private final int windowInMS; @@ -76,7 +77,7 @@ private void onReachCircuitWindow() { if (!currentMetrics.compareAndSet(singleWindowMetrics, new SingleWindowMetrics())) { return; } - logger.debug("window timeout, reset SingleWindowMetrics"); + logger.atDebug().log("window timeout, reset SingleWindowMetrics"); HealthCounts healthCounts = singleWindowMetrics.getHealthCounts(); for (MetricsListener metricsListener : listeners) { metricsListener.onNext(healthCounts); @@ -95,6 +96,7 @@ public void close() throws IOException { /** Instead of using SingleWindowMetrics, it is better to use RollingWindowMetrics. */ static class SingleWindowMetrics { + private final long startMS = System.currentTimeMillis(); private final AtomicLong totalCount = new AtomicLong(0); private final AtomicLong errorCount = new AtomicLong(0); diff --git a/src/main/java/org/tikv/txn/TTLManager.java b/src/main/java/org/tikv/txn/TTLManager.java index 82f64fafe5f..4e83aa1af0b 100644 --- a/src/main/java/org/tikv/txn/TTLManager.java +++ b/src/main/java/org/tikv/txn/TTLManager.java @@ -42,6 +42,7 @@ * https://github.com/pingcap/tidb/blob/master/store/tikv/2pc.go */ public class TTLManager { + /** 20 seconds */ public static final int MANAGED_LOCK_TTL = 20000; @@ -133,8 +134,10 @@ private void sendTxnHeartBeat(BackOffer bo, long ttl) { } } - LOG.debug( - "sendTxnHeartBeat success key={} ttl={} success", KeyUtils.formatBytes(primaryLock), ttl); + LOG.atDebug() + .addArgument(() -> KeyUtils.formatBytes(primaryLock)) + .addArgument(() -> ttl) + .log("sendTxnHeartBeat success key={} ttl={} success"); } public void close() throws InterruptedException { diff --git a/src/main/java/org/tikv/txn/TwoPhaseCommitter.java b/src/main/java/org/tikv/txn/TwoPhaseCommitter.java index d009751e501..ee8838670ff 100644 --- a/src/main/java/org/tikv/txn/TwoPhaseCommitter.java +++ b/src/main/java/org/tikv/txn/TwoPhaseCommitter.java @@ -396,11 +396,12 @@ private void doPrewriteSecondaryKeySingleBatchWithRetry( BatchKeys batchKeys, Map mutations) throws TiBatchWriteException { - LOG.debug( - "start prewrite secondary key, row={}, size={}KB, regionId={}", - batchKeys.getKeys().size(), - batchKeys.getSizeInKB(), - batchKeys.getRegion().getId()); + LOG.atDebug() + .log( + "start prewrite secondary key, row={}, size={}KB, regionId={}", + batchKeys.getKeys().size(), + batchKeys.getSizeInKB(), + batchKeys.getRegion().getId()); List keyList = batchKeys.getKeys(); int batchSize = keyList.size(); @@ -444,11 +445,12 @@ private void doPrewriteSecondaryKeySingleBatchWithRetry( throw new TiBatchWriteException(errorMsg, e); } } - LOG.debug( - "prewrite secondary key successfully, row={}, size={}KB, regionId={}", - batchKeys.getKeys().size(), - batchKeys.getSizeInKB(), - batchKeys.getRegion().getId()); + LOG.atDebug() + .log( + "prewrite secondary key successfully, row={}, size={}KB, regionId={}", + batchKeys.getKeys().size(), + batchKeys.getSizeInKB(), + batchKeys.getRegion().getId()); } private void appendBatchBySize(