[ 
https://issues.apache.org/jira/browse/IGNITE-22560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17860468#comment-17860468
 ] 

Kirill Tkalenko commented on IGNITE-22560:
------------------------------------------

What problem was discovered during implementation:

When we send ourselves a message, we end up in 
*org.apache.ignite.internal.tx.impl.TxCleanupRequestHandler#processTxCleanup*, 
while remaining in the network thread, we execute 
*org.apache.ignite.internal.tx.impl.TxCleanupRequestHandler#releaseTxLocks* 
also in the network thread, completing the future and we end up in 
*org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener#applyUpdate**
 all in the same network thread and crash with an error when accessing storage 
because the network thread does not have rights to requests to storage.

We will need to think about and discuss, my suggestions:
# *TxCleanupRequestHandler#processTxCleanup* - transfer to a pool (for example, 
a partition pool).
# *PartitionReplicaListener#applyUpdate** - transfer to a pool (for example, a 
partition pool).
# When subscribing to messages, indicate the pool in which we will process the 
listener

> Processing messages to yourself in a thread pool
> ------------------------------------------------
>
>                 Key: IGNITE-22560
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22560
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Kirill Tkalenko
>            Assignee: Kirill Tkalenko
>            Priority: Major
>              Labels: ignite-3, ignite3_performance
>             Fix For: 3.0.0-beta2
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> As a result of code analysis, it was discovered that if in 
> *org.apache.ignite.internal.network.DefaultMessagingService* a message is 
> sent to itself, then processing of the response will be performed in the same 
> thread as the message is sent (without transferring threads to the pool). 
> Which can affect system throughput.
> We need to fix this.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to