[ 
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)

Reply via email to