Commit Briefs

2a75694139 Serge Petrenko

Dummy commit (tags/2.11.5-entrypoint)


8cebbf2cad Serge Petrenko

schema: add missing downgrade versions (tags/2.11.4)

NO_DOC=tools NO_TEST=tools NO_CHANGELOG=tools


89fc437afd Serge Petrenko

Generate changelog for 2.11.4

Also, remove unreleased/ entries. NO_DOC=changelog NO_TEST=changelog NO_CHANGELOG=changelog


23c7899e5c Serge Petrenko

engine: introduce stubs for checkpoint FETCH_SNAPSHOT

This commit introduces engine stubs that enable a new method of fetching snapshots for anonymous replicas. Instead of using the traditional read-view join approach, this update allows file snapshot fetching. Note that file snapshot fetching is only available in Tarantool EE. Checkpoint fetching is done via IPROTO_IS_CHECKPOINT_JOIN, IPROTO_CHECKPOINT_VCLOCK and IPROTO_CHECKPOINT_LSN fields. If IPROTO_CHECKPOINT_JOIN is set to true, join will be done from files: .snap for memtx, .run for vinyl, if false - from read view. Checkpoint join allows to continue from the place, where client stopped in case of snapshot fetching error. This allows to avoid rebootstrap of an anonymous client. This can be done by specifying CHECKPOINT_VCLOCK, which says from which file server should continue join, client gets vclock at the beginning of the join. Specifying CHECKPOINT_LSN allows to continue from some position in checkpoint. Server sends all data >= CHECKPOINT_LSN. If CHECKPOINT_VCLOCK is not specified, fetching is done from the latest available checkpoint. If CHECKPOINT_LSN is not specified - start from the beginning of the snap. So, specifying only IS_CHECKPOINT_JOIN triggers fetching the latest checkpoint from files. Needed for tarantool/tarantool-ee#741 NO_DOC=ee NO_TEST=ee NO_CHANGELOG=ee (cherry picked from commit 2fca5c133b512ab40a5b42603fe27dd7e7db8bae)


9434531b43 Serge Petrenko

engine: send vclock with 0th component during join

This commit makes engine to send vclock without ignoring 0th component during join, which is needed for checkpoint FETCH SNAPSHOT. Currently engine join functions are invoked only from relay_initial_join, which is done during JOIN or FETCH SNAPSHOT. They respond with vclock of the read view we're going to send. In the following commit checkpoint FETCH SNAPSHOT will be introduced, which responds with vclock of the checkpoint, we're going to send. Such vclock may include 0th component and it's crucial to send it to a client, as in case of connection failure, client will send us the same vclock and we'll have to use its signature to figure out, which checkpoint client wants. So, we have to send and receive 0th component of the vclock during FETCH_SNAPSHOT. This commit also introduces decoding vclocks without ignoring 0th component, as they'll be used in the following commit too. Needed for tarantool/tarantool-ee#741 NO_DOC=internal NO_TEST=ee NO_CHANGELOG=internal (cherry picked from commit 56058393cab1fafb3bee32e8275dd1964a1a35d7)