[
https://issues.apache.org/jira/browse/IGNITE-28312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-28312:
----------------------------------
Description:
Usages of debug logging on hot path should be revised.
Examples:
One
{code:java}
Stack Trace Count Percentage void java.lang.Thread.run() 1 100 % void
java.lang.Thread.runWith(Object, Runnable) 1 100 % void
java.util.concurrent.ThreadPoolExecutor$Worker.run() 1 100 % void
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)
1 100 % void
org.apache.ignite.internal.replicator.ReplicaService$$Lambda.0x0000000800f9c228.run()
1 100 % void
org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$6(CompletableFuture,
ErrorReplicaResponse) 1 100 % boolean
java.util.concurrent.CompletableFuture.completeExceptionally(Throwable) 1 100
% void java.util.concurrent.CompletableFuture.postComplete() 1 100 %
CompletableFuture java.util.concurrent.CompletableFuture$UniHandle.tryFire(int)
1 100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
BiFunction, CompletableFuture$UniHandle) 1 100 % Object
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda.0x0000000801167068.apply(Object,
Object) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.lambda$trackingInvoke$13(int,
InternalTransaction, int, ReplicaRequest, PendingTxPartitionEnlistment,
BiPredicate, Object, Throwable) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.trackingInvoke(InternalTransaction,
int, Function, boolean, PendingTxPartitionEnlistment, BiPredicate, int) 1
100 % CompletableFuture
org.apache.ignite.internal.replicator.ReplicaService.invoke(String,
ReplicaRequest) 1 100 % CompletableFuture
org.apache.ignite.internal.replicator.ReplicaService.sendToReplica(String,
ReplicaRequest) 1 100 % CompletableFuture
org.apache.ignite.internal.replicator.ReplicaService.sendToReplicaRaw(String,
ReplicaRequest) 1 100 % CompletableFuture
org.apache.ignite.internal.network.MessagingService.invoke(String,
NetworkMessage, long) 1 100 % CompletableFuture
org.apache.ignite.internal.network.wrapper.JumpToExecutorByConsistentIdAfterSend.invoke(String,
ChannelType, NetworkMessage, long) 1 100 % CompletableFuture
org.apache.ignite.internal.network.DefaultMessagingService.invoke(String,
ChannelType, NetworkMessage, long) 1 100 % CompletableFuture
org.apache.ignite.internal.network.DefaultMessagingService.invoke0(InternalClusterNode,
ChannelType, NetworkMessage, long, boolean) 1 100 % void
org.apache.ignite.internal.network.DefaultMessagingService.sendToSelf(NetworkMessage,
Long) 1 100 % void
org.apache.ignite.internal.replicator.ReplicaManager$$Lambda.0x0000000800486c98.onReceived(NetworkMessage,
InternalClusterNode, Long) 1 100 % void
org.apache.ignite.internal.replicator.ReplicaManager.onReplicaMessageReceived(NetworkMessage,
InternalClusterNode, Long) 1 100 % void
org.apache.ignite.internal.replicator.ReplicaManager.handleReplicaRequest(ReplicaRequest,
InternalClusterNode, Long) 1 100 % CompletableFuture
java.util.concurrent.CompletableFuture.handle(BiFunction) 1 100 %
CompletableFuture
java.util.concurrent.CompletableFuture.uniHandleStage(Executor, BiFunction) 1
100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
BiFunction, CompletableFuture$UniHandle) 1 100 % Object
org.apache.ignite.internal.replicator.ReplicaManager$$Lambda.0x0000000801060438.apply(Object,
Object) 1 100 % Object
org.apache.ignite.internal.replicator.ReplicaManager.lambda$handleReplicaRequest$4(boolean,
ReplicaRequest, String, Long, ReplicationGroupId, ReplicaResult, Throwable) 1
100 % void
org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl.debug(String,
String, Throwable, Object[]) 1 100 % void
org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl.logInternal(String,
Supplier, Throwable, System$Logger$Level) 1 100 % Object
org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl$$Lambda.0x000000080148d7c8.get()
1 100 % String
org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl.lambda$debug$10(String,
Object[]) 1 100 % String
org.apache.ignite.internal.lang.IgniteStringFormatter.format(String, Object[])
1 100 % void
org.apache.ignite.internal.lang.IgniteStringFormatter.deeplyAppendParameter(StringBuilder,
Object, HashSet) 1 100 % void
org.apache.ignite.internal.lang.IgniteStringFormatter.safeObjectAppend(StringBuilder,
Object) 1 100 % String
org.apache.ignite.internal.partition.replicator.network.replication.ReadWriteSingleRowPkReplicaRequestImpl.toString()
1 100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object) 1 100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toStringImpl(Class,
StringBuilderLimitedLength, Object, Object[], Object[], boolean[], int) 1
100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toStringImpl0(Class,
StringBuilderLimitedLength, Object, Object[], Object[], boolean[], int) 1
100 % void
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(StringBuilderLimitedLength,
Class, Object) 1 100 % StringBuilderLimitedLength
org.apache.ignite.internal.tostring.StringBuilderLimitedLength.app(Object) 1
100 % IgniteStringBuilder
org.apache.ignite.internal.lang.IgniteStringBuilder.app(Object) 1 100 %
StringBuilder java.lang.StringBuilder.append(Object) 1 100 % String
java.lang.String.valueOf(Object) 1 100 % String
java.nio.ByteBuffer.toString() 1 100 % StringBuilder
java.lang.StringBuilder.append(int) 1 100 % AbstractStringBuilder
java.lang.AbstractStringBuilder.append(int) 1 100 % void
java.lang.AbstractStringBuilder.ensureCapacityInternal(int) 1 100 % byte[]
java.util.Arrays.copyOf(byte[], int) 1 100 %{code}
and more
{code:java}
Stack Trace Count Percentage void java.lang.Thread.run() 1 100 % void
java.lang.Thread.runWith(Object, Runnable) 1 100 % void
java.util.concurrent.ThreadPoolExecutor$Worker.run() 1 100 % void
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)
1 100 % void
org.apache.ignite.internal.replicator.ReplicaService$$Lambda.0x0000000800f9c228.run()
1 100 % void
org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$6(CompletableFuture,
ErrorReplicaResponse) 1 100 % boolean
java.util.concurrent.CompletableFuture.completeExceptionally(Throwable) 1 100
% void java.util.concurrent.CompletableFuture.postComplete() 1 100 %
CompletableFuture java.util.concurrent.CompletableFuture$UniHandle.tryFire(int)
1 100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
BiFunction, CompletableFuture$UniHandle) 1 100 % Object
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda.0x0000000801167b80.apply(Object,
Object) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.lambda$postEnlist$16(boolean,
InternalTransaction, boolean, Object, Throwable) 1 100 % CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.rollbackAsync() 1
100 % CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finish(boolean,
HybridTimestamp, boolean, boolean) 1 100 % CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finishInternal(boolean,
HybridTimestamp, boolean, boolean, boolean) 1 100 % CompletableFuture
java.util.concurrent.CompletableFuture.handle(BiFunction) 1 100 %
CompletableFuture
java.util.concurrent.CompletableFuture.uniHandleStage(Executor, BiFunction) 1
100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
BiFunction, CompletableFuture$UniHandle) 1 100 % Object
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl$$Lambda.0x00000008011fe3c8.apply(Object,
Object) 1 100 % CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.lambda$finishInternal$6(boolean,
boolean, Void, Throwable) 1 100 % CompletableFuture
org.apache.ignite.internal.tx.impl.TxManagerImpl.finish(HybridTimestampTracker,
ZonePartitionId, boolean, boolean, boolean, boolean, Map, UUID) 1 100 %
void org.apache.ignite.internal.logger.IgniteLoggerImpl.debug(String, Object[])
1 100 % void
org.apache.ignite.internal.logger.IgniteLoggerImpl.logInternal(System$Logger$Level,
String, Throwable, Object[]) 1 100 % String
org.apache.ignite.internal.lang.IgniteStringFormatter.format(String, Object[])
1 100 % void
org.apache.ignite.internal.lang.IgniteStringFormatter.deeplyAppendParameter(StringBuilder,
Object, HashSet) 1 100 % void
org.apache.ignite.internal.lang.IgniteStringFormatter.safeObjectAppend(StringBuilder,
Object) 1 100 % String java.util.concurrent.ConcurrentHashMap.toString()
1 100 % StringBuilder java.lang.StringBuilder.append(Object) 1 100 %
String java.lang.String.valueOf(Object) 1 100 % String
org.apache.ignite.internal.tx.PendingTxPartitionEnlistment.toString() 1
100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object, String) 1 100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object, String, Object) 1 100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object, String, Object, boolean) 1 100 %{code}
was:
Usages of debug logging on hot path should be revised.
Examples:
One
Stack Trace Count Percentage
void java.lang.Thread.run() 1 100 %
void java.lang.Thread.runWith(Object, Runnable) 1 100 %
void java.util.concurrent.ThreadPoolExecutor$Worker.run() 1 100 %
void
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)
1 100 %
void
org.apache.ignite.internal.replicator.ReplicaService$$Lambda.0x0000000800f9c228.run()
1 100 %
void
org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$6(CompletableFuture,
ErrorReplicaResponse) 1 100 %
boolean java.util.concurrent.CompletableFuture.completeExceptionally(Throwable)
1 100 %
void java.util.concurrent.CompletableFuture.postComplete() 1 100 %
CompletableFuture java.util.concurrent.CompletableFuture$UniHandle.tryFire(int)
1 100 %
boolean java.util.concurrent.CompletableFuture.uniHandle(Object, BiFunction,
CompletableFuture$UniHandle) 1 100 %
Object
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda.0x0000000801167b80.apply(Object,
Object) 1 100 %
CompletableFuture
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.lambda$postEnlist$16(boolean,
InternalTransaction, boolean, Object, Throwable) 1 100 %
CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.rollbackAsync() 1
100 %
CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finish(boolean,
HybridTimestamp, boolean, boolean) 1 100 %
CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finishInternal(boolean,
HybridTimestamp, boolean, boolean, boolean) 1 100 %
CompletableFuture java.util.concurrent.CompletableFuture.handle(BiFunction) 1
100 %
CompletableFuture
java.util.concurrent.CompletableFuture.uniHandleStage(Executor, BiFunction) 1
100 %
boolean java.util.concurrent.CompletableFuture.uniHandle(Object, BiFunction,
CompletableFuture$UniHandle) 1 100 %
Object
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl$$Lambda.0x00000008011fe3c8.apply(Object,
Object) 1 100 %
CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.lambda$finishInternal$6(boolean,
boolean, Void, Throwable) 1 100 %
CompletableFuture
org.apache.ignite.internal.tx.impl.TxManagerImpl.finish(HybridTimestampTracker,
ZonePartitionId, boolean, boolean, boolean, boolean, Map, UUID) 1 100 %
void org.apache.ignite.internal.logger.IgniteLoggerImpl.debug(String, Object[])
1 100 %
void
org.apache.ignite.internal.logger.IgniteLoggerImpl.logInternal(System$Logger$Level,
String, Throwable, Object[]) 1 100 %
String org.apache.ignite.internal.lang.IgniteStringFormatter.format(String,
Object[]) 1 100 %
void
org.apache.ignite.internal.lang.IgniteStringFormatter.deeplyAppendParameter(StringBuilder,
Object, HashSet) 1 100 %
void
org.apache.ignite.internal.lang.IgniteStringFormatter.safeObjectAppend(StringBuilder,
Object) 1 100 %
String java.util.concurrent.ConcurrentHashMap.toString() 1 100 %
StringBuilder java.lang.StringBuilder.append(Object) 1 100 %
String java.lang.String.valueOf(Object) 1 100 %
String org.apache.ignite.internal.tx.PendingTxPartitionEnlistment.toString()
1 100 %
String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object, String) 1 100 %
String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object, String, Object) 1 100 %
String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object, String, Object, boolean) 1 100 %
{code:java}
Stack Trace Count Percentage void java.lang.Thread.run() 1 100 % void
java.lang.Thread.runWith(Object, Runnable) 1 100 % void
java.util.concurrent.ThreadPoolExecutor$Worker.run() 1 100 % void
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)
1 100 % void
org.apache.ignite.internal.replicator.ReplicaService$$Lambda.0x0000000800f9c228.run()
1 100 % void
org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$6(CompletableFuture,
ErrorReplicaResponse) 1 100 % boolean
java.util.concurrent.CompletableFuture.completeExceptionally(Throwable) 1 100
% void java.util.concurrent.CompletableFuture.postComplete() 1 100 %
CompletableFuture java.util.concurrent.CompletableFuture$UniHandle.tryFire(int)
1 100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
BiFunction, CompletableFuture$UniHandle) 1 100 % Object
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda.0x0000000801167068.apply(Object,
Object) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.lambda$trackingInvoke$13(int,
InternalTransaction, int, ReplicaRequest, PendingTxPartitionEnlistment,
BiPredicate, Object, Throwable) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.trackingInvoke(InternalTransaction,
int, Function, boolean, PendingTxPartitionEnlistment, BiPredicate, int) 1
100 % CompletableFuture
org.apache.ignite.internal.replicator.ReplicaService.invoke(String,
ReplicaRequest) 1 100 % CompletableFuture
org.apache.ignite.internal.replicator.ReplicaService.sendToReplica(String,
ReplicaRequest) 1 100 % CompletableFuture
org.apache.ignite.internal.replicator.ReplicaService.sendToReplicaRaw(String,
ReplicaRequest) 1 100 % CompletableFuture
org.apache.ignite.internal.network.MessagingService.invoke(String,
NetworkMessage, long) 1 100 % CompletableFuture
org.apache.ignite.internal.network.wrapper.JumpToExecutorByConsistentIdAfterSend.invoke(String,
ChannelType, NetworkMessage, long) 1 100 % CompletableFuture
org.apache.ignite.internal.network.DefaultMessagingService.invoke(String,
ChannelType, NetworkMessage, long) 1 100 % CompletableFuture
org.apache.ignite.internal.network.DefaultMessagingService.invoke0(InternalClusterNode,
ChannelType, NetworkMessage, long, boolean) 1 100 % void
org.apache.ignite.internal.network.DefaultMessagingService.sendToSelf(NetworkMessage,
Long) 1 100 % void
org.apache.ignite.internal.replicator.ReplicaManager$$Lambda.0x0000000800486c98.onReceived(NetworkMessage,
InternalClusterNode, Long) 1 100 % void
org.apache.ignite.internal.replicator.ReplicaManager.onReplicaMessageReceived(NetworkMessage,
InternalClusterNode, Long) 1 100 % void
org.apache.ignite.internal.replicator.ReplicaManager.handleReplicaRequest(ReplicaRequest,
InternalClusterNode, Long) 1 100 % CompletableFuture
java.util.concurrent.CompletableFuture.handle(BiFunction) 1 100 %
CompletableFuture
java.util.concurrent.CompletableFuture.uniHandleStage(Executor, BiFunction) 1
100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
BiFunction, CompletableFuture$UniHandle) 1 100 % Object
org.apache.ignite.internal.replicator.ReplicaManager$$Lambda.0x0000000801060438.apply(Object,
Object) 1 100 % Object
org.apache.ignite.internal.replicator.ReplicaManager.lambda$handleReplicaRequest$4(boolean,
ReplicaRequest, String, Long, ReplicationGroupId, ReplicaResult, Throwable) 1
100 % void
org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl.debug(String,
String, Throwable, Object[]) 1 100 % void
org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl.logInternal(String,
Supplier, Throwable, System$Logger$Level) 1 100 % Object
org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl$$Lambda.0x000000080148d7c8.get()
1 100 % String
org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl.lambda$debug$10(String,
Object[]) 1 100 % String
org.apache.ignite.internal.lang.IgniteStringFormatter.format(String, Object[])
1 100 % void
org.apache.ignite.internal.lang.IgniteStringFormatter.deeplyAppendParameter(StringBuilder,
Object, HashSet) 1 100 % void
org.apache.ignite.internal.lang.IgniteStringFormatter.safeObjectAppend(StringBuilder,
Object) 1 100 % String
org.apache.ignite.internal.partition.replicator.network.replication.ReadWriteSingleRowPkReplicaRequestImpl.toString()
1 100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object) 1 100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toStringImpl(Class,
StringBuilderLimitedLength, Object, Object[], Object[], boolean[], int) 1
100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toStringImpl0(Class,
StringBuilderLimitedLength, Object, Object[], Object[], boolean[], int) 1
100 % void
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(StringBuilderLimitedLength,
Class, Object) 1 100 % StringBuilderLimitedLength
org.apache.ignite.internal.tostring.StringBuilderLimitedLength.app(Object) 1
100 % IgniteStringBuilder
org.apache.ignite.internal.lang.IgniteStringBuilder.app(Object) 1 100 %
StringBuilder java.lang.StringBuilder.append(Object) 1 100 % String
java.lang.String.valueOf(Object) 1 100 % String
java.nio.ByteBuffer.toString() 1 100 % StringBuilder
java.lang.StringBuilder.append(int) 1 100 % AbstractStringBuilder
java.lang.AbstractStringBuilder.append(int) 1 100 % void
java.lang.AbstractStringBuilder.ensureCapacityInternal(int) 1 100 % byte[]
java.util.Arrays.copyOf(byte[], int) 1 100 %{code}
and more
{code:java}
Stack Trace Count Percentage void java.lang.Thread.run() 1 100 % void
java.lang.Thread.runWith(Object, Runnable) 1 100 % void
java.util.concurrent.ThreadPoolExecutor$Worker.run() 1 100 % void
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)
1 100 % void
org.apache.ignite.internal.replicator.ReplicaService$$Lambda.0x0000000800f9c228.run()
1 100 % void
org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$6(CompletableFuture,
ErrorReplicaResponse) 1 100 % boolean
java.util.concurrent.CompletableFuture.completeExceptionally(Throwable) 1 100
% void java.util.concurrent.CompletableFuture.postComplete() 1 100 %
CompletableFuture java.util.concurrent.CompletableFuture$UniHandle.tryFire(int)
1 100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
BiFunction, CompletableFuture$UniHandle) 1 100 % Object
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda.0x0000000801167b80.apply(Object,
Object) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.lambda$postEnlist$16(boolean,
InternalTransaction, boolean, Object, Throwable) 1 100 % CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.rollbackAsync() 1
100 % CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finish(boolean,
HybridTimestamp, boolean, boolean) 1 100 % CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finishInternal(boolean,
HybridTimestamp, boolean, boolean, boolean) 1 100 % CompletableFuture
java.util.concurrent.CompletableFuture.handle(BiFunction) 1 100 %
CompletableFuture
java.util.concurrent.CompletableFuture.uniHandleStage(Executor, BiFunction) 1
100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
BiFunction, CompletableFuture$UniHandle) 1 100 % Object
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl$$Lambda.0x00000008011fe3c8.apply(Object,
Object) 1 100 % CompletableFuture
org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.lambda$finishInternal$6(boolean,
boolean, Void, Throwable) 1 100 % CompletableFuture
org.apache.ignite.internal.tx.impl.TxManagerImpl.finish(HybridTimestampTracker,
ZonePartitionId, boolean, boolean, boolean, boolean, Map, UUID) 1 100 %
void org.apache.ignite.internal.logger.IgniteLoggerImpl.debug(String, Object[])
1 100 % void
org.apache.ignite.internal.logger.IgniteLoggerImpl.logInternal(System$Logger$Level,
String, Throwable, Object[]) 1 100 % String
org.apache.ignite.internal.lang.IgniteStringFormatter.format(String, Object[])
1 100 % void
org.apache.ignite.internal.lang.IgniteStringFormatter.deeplyAppendParameter(StringBuilder,
Object, HashSet) 1 100 % void
org.apache.ignite.internal.lang.IgniteStringFormatter.safeObjectAppend(StringBuilder,
Object) 1 100 % String java.util.concurrent.ConcurrentHashMap.toString()
1 100 % StringBuilder java.lang.StringBuilder.append(Object) 1 100 %
String java.lang.String.valueOf(Object) 1 100 % String
org.apache.ignite.internal.tx.PendingTxPartitionEnlistment.toString() 1
100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object, String) 1 100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object, String, Object) 1 100 % String
org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
Object, String, Object, boolean) 1 100 %{code}
> Heap allocations caused by debug logging that is not actually used
> ------------------------------------------------------------------
>
> Key: IGNITE-28312
> URL: https://issues.apache.org/jira/browse/IGNITE-28312
> Project: Ignite
> Issue Type: Bug
> Reporter: Denis Chudov
> Priority: Major
> Labels: ignite-3
>
> Usages of debug logging on hot path should be revised.
> Examples:
> One
>
> {code:java}
> Stack Trace Count Percentage void java.lang.Thread.run() 1 100 % void
> java.lang.Thread.runWith(Object, Runnable) 1 100 % void
> java.util.concurrent.ThreadPoolExecutor$Worker.run() 1 100 % void
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)
> 1 100 % void
> org.apache.ignite.internal.replicator.ReplicaService$$Lambda.0x0000000800f9c228.run()
> 1 100 % void
> org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$6(CompletableFuture,
> ErrorReplicaResponse) 1 100 % boolean
> java.util.concurrent.CompletableFuture.completeExceptionally(Throwable) 1
> 100 % void java.util.concurrent.CompletableFuture.postComplete() 1 100 %
> CompletableFuture
> java.util.concurrent.CompletableFuture$UniHandle.tryFire(int) 1 100 %
> boolean java.util.concurrent.CompletableFuture.uniHandle(Object, BiFunction,
> CompletableFuture$UniHandle) 1 100 % Object
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda.0x0000000801167068.apply(Object,
> Object) 1 100 % CompletableFuture
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.lambda$trackingInvoke$13(int,
> InternalTransaction, int, ReplicaRequest, PendingTxPartitionEnlistment,
> BiPredicate, Object, Throwable) 1 100 % CompletableFuture
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.trackingInvoke(InternalTransaction,
> int, Function, boolean, PendingTxPartitionEnlistment, BiPredicate, int) 1
> 100 % CompletableFuture
> org.apache.ignite.internal.replicator.ReplicaService.invoke(String,
> ReplicaRequest) 1 100 % CompletableFuture
> org.apache.ignite.internal.replicator.ReplicaService.sendToReplica(String,
> ReplicaRequest) 1 100 % CompletableFuture
> org.apache.ignite.internal.replicator.ReplicaService.sendToReplicaRaw(String,
> ReplicaRequest) 1 100 % CompletableFuture
> org.apache.ignite.internal.network.MessagingService.invoke(String,
> NetworkMessage, long) 1 100 % CompletableFuture
> org.apache.ignite.internal.network.wrapper.JumpToExecutorByConsistentIdAfterSend.invoke(String,
> ChannelType, NetworkMessage, long) 1 100 % CompletableFuture
> org.apache.ignite.internal.network.DefaultMessagingService.invoke(String,
> ChannelType, NetworkMessage, long) 1 100 % CompletableFuture
> org.apache.ignite.internal.network.DefaultMessagingService.invoke0(InternalClusterNode,
> ChannelType, NetworkMessage, long, boolean) 1 100 % void
> org.apache.ignite.internal.network.DefaultMessagingService.sendToSelf(NetworkMessage,
> Long) 1 100 % void
> org.apache.ignite.internal.replicator.ReplicaManager$$Lambda.0x0000000800486c98.onReceived(NetworkMessage,
> InternalClusterNode, Long) 1 100 % void
> org.apache.ignite.internal.replicator.ReplicaManager.onReplicaMessageReceived(NetworkMessage,
> InternalClusterNode, Long) 1 100 % void
> org.apache.ignite.internal.replicator.ReplicaManager.handleReplicaRequest(ReplicaRequest,
> InternalClusterNode, Long) 1 100 % CompletableFuture
> java.util.concurrent.CompletableFuture.handle(BiFunction) 1 100 %
> CompletableFuture
> java.util.concurrent.CompletableFuture.uniHandleStage(Executor, BiFunction)
> 1 100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
> BiFunction, CompletableFuture$UniHandle) 1 100 % Object
> org.apache.ignite.internal.replicator.ReplicaManager$$Lambda.0x0000000801060438.apply(Object,
> Object) 1 100 % Object
> org.apache.ignite.internal.replicator.ReplicaManager.lambda$handleReplicaRequest$4(boolean,
> ReplicaRequest, String, Long, ReplicationGroupId, ReplicaResult, Throwable)
> 1 100 % void
> org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl.debug(String,
> String, Throwable, Object[]) 1 100 % void
> org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl.logInternal(String,
> Supplier, Throwable, System$Logger$Level) 1 100 % Object
> org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl$$Lambda.0x000000080148d7c8.get()
> 1 100 % String
> org.apache.ignite.internal.logger.IgniteThrottledLoggerImpl.lambda$debug$10(String,
> Object[]) 1 100 % String
> org.apache.ignite.internal.lang.IgniteStringFormatter.format(String,
> Object[]) 1 100 % void
> org.apache.ignite.internal.lang.IgniteStringFormatter.deeplyAppendParameter(StringBuilder,
> Object, HashSet) 1 100 % void
> org.apache.ignite.internal.lang.IgniteStringFormatter.safeObjectAppend(StringBuilder,
> Object) 1 100 % String
> org.apache.ignite.internal.partition.replicator.network.replication.ReadWriteSingleRowPkReplicaRequestImpl.toString()
> 1 100 % String
> org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
> Object) 1 100 % String
> org.apache.ignite.internal.tostring.IgniteToStringBuilder.toStringImpl(Class,
> StringBuilderLimitedLength, Object, Object[], Object[], boolean[], int) 1
> 100 % String
> org.apache.ignite.internal.tostring.IgniteToStringBuilder.toStringImpl0(Class,
> StringBuilderLimitedLength, Object, Object[], Object[], boolean[], int) 1
> 100 % void
> org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(StringBuilderLimitedLength,
> Class, Object) 1 100 % StringBuilderLimitedLength
> org.apache.ignite.internal.tostring.StringBuilderLimitedLength.app(Object)
> 1 100 % IgniteStringBuilder
> org.apache.ignite.internal.lang.IgniteStringBuilder.app(Object) 1 100 %
> StringBuilder java.lang.StringBuilder.append(Object) 1 100 % String
> java.lang.String.valueOf(Object) 1 100 % String
> java.nio.ByteBuffer.toString() 1 100 % StringBuilder
> java.lang.StringBuilder.append(int) 1 100 % AbstractStringBuilder
> java.lang.AbstractStringBuilder.append(int) 1 100 % void
> java.lang.AbstractStringBuilder.ensureCapacityInternal(int) 1 100 %
> byte[] java.util.Arrays.copyOf(byte[], int) 1 100 %{code}
> and more
>
> {code:java}
> Stack Trace Count Percentage void java.lang.Thread.run() 1 100 % void
> java.lang.Thread.runWith(Object, Runnable) 1 100 % void
> java.util.concurrent.ThreadPoolExecutor$Worker.run() 1 100 % void
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)
> 1 100 % void
> org.apache.ignite.internal.replicator.ReplicaService$$Lambda.0x0000000800f9c228.run()
> 1 100 % void
> org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$6(CompletableFuture,
> ErrorReplicaResponse) 1 100 % boolean
> java.util.concurrent.CompletableFuture.completeExceptionally(Throwable) 1
> 100 % void java.util.concurrent.CompletableFuture.postComplete() 1 100 %
> CompletableFuture
> java.util.concurrent.CompletableFuture$UniHandle.tryFire(int) 1 100 %
> boolean java.util.concurrent.CompletableFuture.uniHandle(Object, BiFunction,
> CompletableFuture$UniHandle) 1 100 % Object
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda.0x0000000801167b80.apply(Object,
> Object) 1 100 % CompletableFuture
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.lambda$postEnlist$16(boolean,
> InternalTransaction, boolean, Object, Throwable) 1 100 % CompletableFuture
> org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.rollbackAsync()
> 1 100 % CompletableFuture
> org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finish(boolean,
> HybridTimestamp, boolean, boolean) 1 100 % CompletableFuture
> org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finishInternal(boolean,
> HybridTimestamp, boolean, boolean, boolean) 1 100 % CompletableFuture
> java.util.concurrent.CompletableFuture.handle(BiFunction) 1 100 %
> CompletableFuture
> java.util.concurrent.CompletableFuture.uniHandleStage(Executor, BiFunction)
> 1 100 % boolean java.util.concurrent.CompletableFuture.uniHandle(Object,
> BiFunction, CompletableFuture$UniHandle) 1 100 % Object
> org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl$$Lambda.0x00000008011fe3c8.apply(Object,
> Object) 1 100 % CompletableFuture
> org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.lambda$finishInternal$6(boolean,
> boolean, Void, Throwable) 1 100 % CompletableFuture
> org.apache.ignite.internal.tx.impl.TxManagerImpl.finish(HybridTimestampTracker,
> ZonePartitionId, boolean, boolean, boolean, boolean, Map, UUID) 1 100 %
> void org.apache.ignite.internal.logger.IgniteLoggerImpl.debug(String,
> Object[]) 1 100 % void
> org.apache.ignite.internal.logger.IgniteLoggerImpl.logInternal(System$Logger$Level,
> String, Throwable, Object[]) 1 100 % String
> org.apache.ignite.internal.lang.IgniteStringFormatter.format(String,
> Object[]) 1 100 % void
> org.apache.ignite.internal.lang.IgniteStringFormatter.deeplyAppendParameter(StringBuilder,
> Object, HashSet) 1 100 % void
> org.apache.ignite.internal.lang.IgniteStringFormatter.safeObjectAppend(StringBuilder,
> Object) 1 100 % String java.util.concurrent.ConcurrentHashMap.toString()
> 1 100 % StringBuilder java.lang.StringBuilder.append(Object) 1 100 %
> String java.lang.String.valueOf(Object) 1 100 % String
> org.apache.ignite.internal.tx.PendingTxPartitionEnlistment.toString() 1
> 100 % String
> org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
> Object, String) 1 100 % String
> org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
> Object, String, Object) 1 100 % String
> org.apache.ignite.internal.tostring.IgniteToStringBuilder.toString(Class,
> Object, String, Object, boolean) 1 100 %{code}
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)