[ 
https://issues.apache.org/jira/browse/IGNITE-25535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirill Tkalenko updated IGNITE-25535:
-------------------------------------
    Description: 
We can optimize 
*org.apache.ignite.internal.table.distributed.StorageUpdateHandler#tryProcessRow*
 if we slightly change the implementation of 
*org.apache.ignite.internal.storage.MvPartitionStorage#addWrite* and 
*org.apache.ignite.internal.storage.MvPartitionStorage#addWriteCommitted*. In 
lucky cases, when, for example, new inserts are made or the row is not changed 
in parallel, reading will not be needed at all. In unlucky cases, we will 
reduce the number of operations and this will be useful. 
It occurs to me to change 
*org.apache.ignite.internal.storage.MvPartitionStorage#addWrite* and 
*org.apache.ignite.internal.storage.MvPartitionStorage#addWriteCommited* a 
little, so that they, for example, do not throw exceptions when the 
transactions do not match, but return the result so that on their basis a 
commit or abortion can be immediately performed and then *addCommit** can be 
performed again.

  was:At first glance, we can optimize 
*org.apache.ignite.internal.table.distributed.StorageUpdateHandler#tryProcessRow*
 if we implement the logic of 
*org.apache.ignite.internal.table.distributed.StorageUpdateHandler#performStorageCleanupIfNeeded*
 in *org.apache.ignite.internal.storage.MvPartitionStorage#addWrite* and 
*org.apache.ignite.internal.storage.MvPartitionStorage#addWriteCommited*. This 
may be a wrong assumption and we can do it even better or more optimally.


> Optimization of StorageUpdateHandler#tryProcessRow
> --------------------------------------------------
>
>                 Key: IGNITE-25535
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25535
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Kirill Tkalenko
>            Assignee: Kirill Tkalenko
>            Priority: Major
>              Labels: ignite-3
>
> We can optimize 
> *org.apache.ignite.internal.table.distributed.StorageUpdateHandler#tryProcessRow*
>  if we slightly change the implementation of 
> *org.apache.ignite.internal.storage.MvPartitionStorage#addWrite* and 
> *org.apache.ignite.internal.storage.MvPartitionStorage#addWriteCommitted*. In 
> lucky cases, when, for example, new inserts are made or the row is not 
> changed in parallel, reading will not be needed at all. In unlucky cases, we 
> will reduce the number of operations and this will be useful. 
> It occurs to me to change 
> *org.apache.ignite.internal.storage.MvPartitionStorage#addWrite* and 
> *org.apache.ignite.internal.storage.MvPartitionStorage#addWriteCommited* a 
> little, so that they, for example, do not throw exceptions when the 
> transactions do not match, but return the result so that on their basis a 
> commit or abortion can be immediately performed and then *addCommit** can be 
> performed again.



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

Reply via email to