[
https://issues.apache.org/jira/browse/IGNITE-28309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-28309:
----------------------------------
Description:
Since sometimes a lot of lock exceptions may be called on hot path, this
process should be optimized.
{{{noformat}
void java.lang.Thread.run()
void java.lang.Thread.runWith(Object, Runnable)
void java.util.concurrent.ThreadPoolExecutor$Worker.run()
void
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)
void
org.apache.ignite.internal.replicator.ReplicaService$$Lambda.0x0000000800f9c228.run()
void
org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$6(CompletableFuture,
ErrorReplicaResponse)
boolean java.util.concurrent.CompletableFuture.completeExceptionally(Throwable)
void java.util.concurrent.CompletableFuture.postComplete()
CompletableFuture java.util.concurrent.CompletableFuture$UniHandle.tryFire(int)
boolean java.util.concurrent.CompletableFuture.uniHandle(Object, BiFunction,
CompletableFuture$UniHandle)
Object
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda.0x0000000801167068.apply(Object,
Object)
CompletableFuture
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.lambda$trackingInvoke$13(int,
InternalTransaction, int, ReplicaRequest, PendingTxPartitionEnlistment,
BiPredicate, Object, Throwable)
CompletableFuture
org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.trackingInvoke(InternalTransaction,
int, Function, boolean, PendingTxPartitionEnlistment, BiPredicate, int)
CompletableFuture
org.apache.ignite.internal.replicator.ReplicaService.invoke(String,
ReplicaRequest)
CompletableFuture
org.apache.ignite.internal.replicator.ReplicaService.sendToReplica(String,
ReplicaRequest)
CompletableFuture
org.apache.ignite.internal.replicator.ReplicaService.sendToReplicaRaw(String,
ReplicaRequest)
CompletableFuture
org.apache.ignite.internal.network.MessagingService.invoke(String,
NetworkMessage, long)
CompletableFuture
org.apache.ignite.internal.network.wrapper.JumpToExecutorByConsistentIdAfterSend.invoke(String,
ChannelType, NetworkMessage, long)
CompletableFuture
org.apache.ignite.internal.network.DefaultMessagingService.invoke(String,
ChannelType, NetworkMessage, long)
CompletableFuture
org.apache.ignite.internal.network.DefaultMessagingService.invoke0(InternalClusterNode,
ChannelType, NetworkMessage, long, boolean)
void
org.apache.ignite.internal.network.DefaultMessagingService.sendToSelf(NetworkMessage,
Long)
void
org.apache.ignite.internal.replicator.ReplicaManager$$Lambda.0x0000000800486c98.onReceived(NetworkMessage,
InternalClusterNode, Long)
void
org.apache.ignite.internal.replicator.ReplicaManager.onReplicaMessageReceived(NetworkMessage,
InternalClusterNode, Long)
void
org.apache.ignite.internal.replicator.ReplicaManager.handleReplicaRequest(ReplicaRequest,
InternalClusterNode, Long)
CompletableFuture
org.apache.ignite.internal.replicator.ZonePartitionReplicaImpl.processRequest(ReplicaRequest,
UUID)
CompletableFuture
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.invoke(ReplicaRequest,
UUID)
CompletableFuture java.util.concurrent.CompletableFuture.thenCompose(Function)
CompletableFuture
java.util.concurrent.CompletableFuture.uniComposeStage(Executor, Function)
Object
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener$$Lambda.0x0000000801058000.apply(Object)
CompletionStage
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.lambda$invoke$0(ReplicaRequest,
UUID, ReplicaPrimacy)
CompletableFuture
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.processRequest(ReplicaRequest,
ReplicaPrimacy, UUID)
CompletableFuture
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.processTableAwareRequest(ReplicaRequest,
ReplicaPrimacy, UUID)
CompletableFuture java.util.concurrent.CompletableFuture.thenCompose(Function)
CompletableFuture
java.util.concurrent.CompletableFuture.uniComposeStage(Executor, Function)
Object
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener$$Lambda.0x0000000801072810.apply(Object)
CompletionStage
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.lambda$processTableAwareRequest$4(ReplicaRequest,
ReplicaPrimacy, UUID, Void)
CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.process(ReplicaRequest,
ReplicaPrimacy, UUID)
CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processRequestInContext(ReplicaRequest,
ReplicaPrimacy, UUID)
CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processRequest(ReplicaRequest,
ReplicaPrimacy)
CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxOperationManagementLogic(ReplicaRequest,
ReplicaPrimacy, HybridTimestamp)
CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(ReplicaRequest,
ReplicaPrimacy, HybridTimestamp)
CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(UUID,
ZonePartitionId, RequestType, boolean, Supplier)
Object
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener$$Lambda.0x000000080114b800.get()
CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processOperationRequest$10(ReadWriteSingleRowPkReplicaRequest,
ReplicaPrimacy)
CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processSingleEntryAction(ReadWriteSingleRowPkReplicaRequest,
long)
CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.resolveRowByPk(BinaryTuple,
UUID, IgniteTriFunction)
CompletableFuture
org.apache.ignite.internal.table.distributed.HashIndexLocker.locksForLookupByKey(UUID,
BinaryTuple)
CompletableFuture
org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(UUID, LockKey,
LockMode)
IgniteBiTuple
org.apache.ignite.internal.tx.impl.HeapLockManager$LockState.tryAcquire(UUID,
LockMode)
boolean
org.apache.ignite.internal.tx.impl.HeapLockManager$LockState.isWaiterReadyToNotify(HeapLockManager$WaiterImpl,
boolean)
void
org.apache.ignite.internal.tx.PossibleDeadlockOnLockAcquireException.<init>(UUID,
UUID, LockMode, LockMode, boolean, VolatileTxStateMetaStorage)
String org.apache.ignite.internal.tx.TransactionLogUtils.formatTxInfo(UUID,
VolatileTxStateMetaStorage)
String org.apache.ignite.internal.tx.TransactionLogUtils.formatTxInfo(UUID,
VolatileTxStateMetaStorage, boolean)
String org.apache.ignite.internal.tx.TransactionLogUtils.formatTxInfo(UUID,
String, boolean)
Object java.lang.invoke.Invokers$Holder.linkToTargetMethod(Object, Object)
Object java.lang.invoke.LambdaForm$MH.0x0000000800116400.invoke(Object, Object)
Object java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Object, Object,
long)
String java.lang.StringConcatHelper.newString(byte[], long)
\{noformat}}}
Up to 652 MiB per sample in JFR on high contention.Probably, there are other
places where usages of IgniteStringFormatter are excessive.
was:
Since sometimes a lot of lock exceptions may be called on hot path, this
process should be optimized.
{code:java}
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
org.apache.ignite.internal.replicator.ZonePartitionReplicaImpl.processRequest(ReplicaRequest,
UUID) 1 100 % CompletableFuture
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.invoke(ReplicaRequest,
UUID) 1 100 % CompletableFuture
java.util.concurrent.CompletableFuture.thenCompose(Function) 1 100 %
CompletableFuture
java.util.concurrent.CompletableFuture.uniComposeStage(Executor, Function) 1
100 % Object
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener$$Lambda.0x0000000801058000.apply(Object)
1 100 % CompletionStage
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.lambda$invoke$0(ReplicaRequest,
UUID, ReplicaPrimacy) 1 100 % CompletableFuture
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.processRequest(ReplicaRequest,
ReplicaPrimacy, UUID) 1 100 % CompletableFuture
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.processTableAwareRequest(ReplicaRequest,
ReplicaPrimacy, UUID) 1 100 % CompletableFuture
java.util.concurrent.CompletableFuture.thenCompose(Function) 1 100 %
CompletableFuture
java.util.concurrent.CompletableFuture.uniComposeStage(Executor, Function) 1
100 % Object
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener$$Lambda.0x0000000801072810.apply(Object)
1 100 % CompletionStage
org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.lambda$processTableAwareRequest$4(ReplicaRequest,
ReplicaPrimacy, UUID, Void) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.process(ReplicaRequest,
ReplicaPrimacy, UUID) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processRequestInContext(ReplicaRequest,
ReplicaPrimacy, UUID) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processRequest(ReplicaRequest,
ReplicaPrimacy) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxOperationManagementLogic(ReplicaRequest,
ReplicaPrimacy, HybridTimestamp) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(ReplicaRequest,
ReplicaPrimacy, HybridTimestamp) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(UUID,
ZonePartitionId, RequestType, boolean, Supplier) 1 100 % Object
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener$$Lambda.0x000000080114b800.get()
1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processOperationRequest$10(ReadWriteSingleRowPkReplicaRequest,
ReplicaPrimacy) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processSingleEntryAction(ReadWriteSingleRowPkReplicaRequest,
long) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.resolveRowByPk(BinaryTuple,
UUID, IgniteTriFunction) 1 100 % CompletableFuture
org.apache.ignite.internal.table.distributed.HashIndexLocker.locksForLookupByKey(UUID,
BinaryTuple) 1 100 % CompletableFuture
org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(UUID, LockKey,
LockMode) 1 100 % IgniteBiTuple
org.apache.ignite.internal.tx.impl.HeapLockManager$LockState.tryAcquire(UUID,
LockMode) 1 100 % boolean
org.apache.ignite.internal.tx.impl.HeapLockManager$LockState.isWaiterReadyToNotify(HeapLockManager$WaiterImpl,
boolean) 1 100 % void
org.apache.ignite.internal.tx.PossibleDeadlockOnLockAcquireException.<init>(UUID,
UUID, LockMode, LockMode, boolean, VolatileTxStateMetaStorage) 1 100 %
String org.apache.ignite.internal.tx.TransactionLogUtils.formatTxInfo(UUID,
VolatileTxStateMetaStorage) 1 100 % String
org.apache.ignite.internal.tx.TransactionLogUtils.formatTxInfo(UUID,
VolatileTxStateMetaStorage, boolean) 1 100 % String
org.apache.ignite.internal.tx.TransactionLogUtils.formatTxInfo(UUID, String,
boolean) 1 100 % Object
java.lang.invoke.Invokers$Holder.linkToTargetMethod(Object, Object) 1 100 %
Object java.lang.invoke.LambdaForm$MH.0x0000000800116400.invoke(Object, Object)
1 100 % Object
java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Object, Object, long)
1 100 % String java.lang.StringConcatHelper.newString(byte[], long) 1 100
%{code}
Up to 652 MiB per sample in JFR on high contention.Probably, there are other
places where usages of IgniteStringFormatter are excessive.
> Remove calls of IgniteStringFormatter from hot path
> ---------------------------------------------------
>
> Key: IGNITE-28309
> URL: https://issues.apache.org/jira/browse/IGNITE-28309
> Project: Ignite
> Issue Type: Bug
> Reporter: Denis Chudov
> Priority: Major
> Labels: ignite-3
>
> Since sometimes a lot of lock exceptions may be called on hot path, this
> process should be optimized.
>
> {{{noformat}
> void java.lang.Thread.run()
> void java.lang.Thread.runWith(Object, Runnable)
> void java.util.concurrent.ThreadPoolExecutor$Worker.run()
> void
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker)
> void
> org.apache.ignite.internal.replicator.ReplicaService$$Lambda.0x0000000800f9c228.run()
> void
> org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$6(CompletableFuture,
> ErrorReplicaResponse)
> boolean
> java.util.concurrent.CompletableFuture.completeExceptionally(Throwable)
> void java.util.concurrent.CompletableFuture.postComplete()
> CompletableFuture
> java.util.concurrent.CompletableFuture$UniHandle.tryFire(int)
> boolean java.util.concurrent.CompletableFuture.uniHandle(Object, BiFunction,
> CompletableFuture$UniHandle)
> Object
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda.0x0000000801167068.apply(Object,
> Object)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.lambda$trackingInvoke$13(int,
> InternalTransaction, int, ReplicaRequest, PendingTxPartitionEnlistment,
> BiPredicate, Object, Throwable)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.trackingInvoke(InternalTransaction,
> int, Function, boolean, PendingTxPartitionEnlistment, BiPredicate, int)
> CompletableFuture
> org.apache.ignite.internal.replicator.ReplicaService.invoke(String,
> ReplicaRequest)
> CompletableFuture
> org.apache.ignite.internal.replicator.ReplicaService.sendToReplica(String,
> ReplicaRequest)
> CompletableFuture
> org.apache.ignite.internal.replicator.ReplicaService.sendToReplicaRaw(String,
> ReplicaRequest)
> CompletableFuture
> org.apache.ignite.internal.network.MessagingService.invoke(String,
> NetworkMessage, long)
> CompletableFuture
> org.apache.ignite.internal.network.wrapper.JumpToExecutorByConsistentIdAfterSend.invoke(String,
> ChannelType, NetworkMessage, long)
> CompletableFuture
> org.apache.ignite.internal.network.DefaultMessagingService.invoke(String,
> ChannelType, NetworkMessage, long)
> CompletableFuture
> org.apache.ignite.internal.network.DefaultMessagingService.invoke0(InternalClusterNode,
> ChannelType, NetworkMessage, long, boolean)
> void
> org.apache.ignite.internal.network.DefaultMessagingService.sendToSelf(NetworkMessage,
> Long)
> void
> org.apache.ignite.internal.replicator.ReplicaManager$$Lambda.0x0000000800486c98.onReceived(NetworkMessage,
> InternalClusterNode, Long)
> void
> org.apache.ignite.internal.replicator.ReplicaManager.onReplicaMessageReceived(NetworkMessage,
> InternalClusterNode, Long)
> void
> org.apache.ignite.internal.replicator.ReplicaManager.handleReplicaRequest(ReplicaRequest,
> InternalClusterNode, Long)
> CompletableFuture
> org.apache.ignite.internal.replicator.ZonePartitionReplicaImpl.processRequest(ReplicaRequest,
> UUID)
> CompletableFuture
> org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.invoke(ReplicaRequest,
> UUID)
> CompletableFuture java.util.concurrent.CompletableFuture.thenCompose(Function)
> CompletableFuture
> java.util.concurrent.CompletableFuture.uniComposeStage(Executor, Function)
> Object
> org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener$$Lambda.0x0000000801058000.apply(Object)
> CompletionStage
> org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.lambda$invoke$0(ReplicaRequest,
> UUID, ReplicaPrimacy)
> CompletableFuture
> org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.processRequest(ReplicaRequest,
> ReplicaPrimacy, UUID)
> CompletableFuture
> org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.processTableAwareRequest(ReplicaRequest,
> ReplicaPrimacy, UUID)
> CompletableFuture java.util.concurrent.CompletableFuture.thenCompose(Function)
> CompletableFuture
> java.util.concurrent.CompletableFuture.uniComposeStage(Executor, Function)
> Object
> org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener$$Lambda.0x0000000801072810.apply(Object)
> CompletionStage
> org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.lambda$processTableAwareRequest$4(ReplicaRequest,
> ReplicaPrimacy, UUID, Void)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.process(ReplicaRequest,
> ReplicaPrimacy, UUID)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processRequestInContext(ReplicaRequest,
> ReplicaPrimacy, UUID)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processRequest(ReplicaRequest,
> ReplicaPrimacy)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxOperationManagementLogic(ReplicaRequest,
> ReplicaPrimacy, HybridTimestamp)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(ReplicaRequest,
> ReplicaPrimacy, HybridTimestamp)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(UUID,
> ZonePartitionId, RequestType, boolean, Supplier)
> Object
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener$$Lambda.0x000000080114b800.get()
> CompletableFuture
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processOperationRequest$10(ReadWriteSingleRowPkReplicaRequest,
> ReplicaPrimacy)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processSingleEntryAction(ReadWriteSingleRowPkReplicaRequest,
> long)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.resolveRowByPk(BinaryTuple,
> UUID, IgniteTriFunction)
> CompletableFuture
> org.apache.ignite.internal.table.distributed.HashIndexLocker.locksForLookupByKey(UUID,
> BinaryTuple)
> CompletableFuture
> org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(UUID, LockKey,
> LockMode)
> IgniteBiTuple
> org.apache.ignite.internal.tx.impl.HeapLockManager$LockState.tryAcquire(UUID,
> LockMode)
> boolean
> org.apache.ignite.internal.tx.impl.HeapLockManager$LockState.isWaiterReadyToNotify(HeapLockManager$WaiterImpl,
> boolean)
> void
> org.apache.ignite.internal.tx.PossibleDeadlockOnLockAcquireException.<init>(UUID,
> UUID, LockMode, LockMode, boolean, VolatileTxStateMetaStorage)
> String org.apache.ignite.internal.tx.TransactionLogUtils.formatTxInfo(UUID,
> VolatileTxStateMetaStorage)
> String org.apache.ignite.internal.tx.TransactionLogUtils.formatTxInfo(UUID,
> VolatileTxStateMetaStorage, boolean)
> String org.apache.ignite.internal.tx.TransactionLogUtils.formatTxInfo(UUID,
> String, boolean)
> Object java.lang.invoke.Invokers$Holder.linkToTargetMethod(Object, Object)
> Object java.lang.invoke.LambdaForm$MH.0x0000000800116400.invoke(Object,
> Object)
> Object java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Object,
> Object, long)
> String java.lang.StringConcatHelper.newString(byte[], long)
> \{noformat}}}
>
> Up to 652 MiB per sample in JFR on high contention.Probably, there are other
> places where usages of IgniteStringFormatter are excessive.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)