[
https://issues.apache.org/jira/browse/IGNITE-10302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov resolved IGNITE-10302.
--------------------------------------
Resolution: Fixed
Not relevant at the moment.
> MVCC: Update backups asynchronously
> -----------------------------------
>
> Key: IGNITE-10302
> URL: https://issues.apache.org/jira/browse/IGNITE-10302
> Project: Ignite
> Issue Type: Improvement
> Components: mvcc
> Reporter: Roman Kondakov
> Priority: Major
>
> Currently we update backups synchronously. It means we should wait all backup
> nodes apply transaction updates and send back acknowledgment for each
> statement before proceed. Actually, we do not have to wait until backups
> processed their updates. Instead we can update primary node, then
> "fire-and-forget" update to backups and continue handling next transaction
> statements. This approach eliminates waiting 2 extra network hops for each
> statement (sending update to backup and receiving ack back). Points to
> consider:
> * Backup should transit to "prepare" phase only when all updates were
> applied.
> * "Small" transactions can send updated values in prepare message.
> * "Big" transaction can stream batched updates to backups asynchronously. In
> this case we need to provide some backpressure implementation to prevent
> backup choke.
> * This optimization is applicable only for partitioned caches. This is
> because replicated caches may read data from backups and they should see
> their own updates
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)