ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roman Kondakov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-10302) MVCC: Update backups asynchronously
Date Fri, 16 Nov 2018 15:46:00 GMT
Roman Kondakov created IGNITE-10302:

             Summary: 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

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

View raw message