Ivan Bessonov created IGNITE-21091:
--------------------------------------

             Summary: Send indexes data during full state transfer
                 Key: IGNITE-21091
                 URL: https://issues.apache.org/jira/browse/IGNITE-21091
             Project: Ignite
          Issue Type: Improvement
            Reporter: Ivan Bessonov


Current full state transfer implementation dictates that receiver will build 
all secondary indexes on the fly. This might not be efficient:
 * receiver will have to extract index tuples from each row version
 * for rows with multiple versions, many of these tuples will be the same. 
Which means that the "extraction" and "insertion" will be performed several 
times for the same value

Of course, it all depends on how many versions each row has, but generally 
speaking, inserting data one time is always better than inserting it multiple 
times.

It is proposed to send indexes the same way as we send version chains. By using 
scan operation and copy-on-write semantics during data modifications (on the 
sender).

The specifics of the algorithm are not clear yet. This issues includes 
investigation of the proper approach, that will eliminate
 * the possibility of data inconsistencies
 * data leaks
 * excessive memory consumption on senderĀ 



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

Reply via email to