Commits
- Commit:
2a75694139e80350d199deeb326a9fe577bc9ee9
- From:
- Serge Petrenko <sergepetrenko@tarantool.org>
- Date:
Dummy commit
- Commit:
8cebbf2cad5dec84d669ab24cf8c0f6ec8856538
- From:
- Serge Petrenko <sergepetrenko@tarantool.org>
- Via:
- Serge Petrenko <35663196+sergepetrenko@users.noreply.github.com>
- Date:
schema: add missing downgrade versions
NO_DOC=tools
NO_TEST=tools
NO_CHANGELOG=tools
- Commit:
89fc437afd4222bfa5218fa14ef5b2d4bbf7c4e0
- From:
- Serge Petrenko <sergepetrenko@tarantool.org>
- Via:
- Serge Petrenko <35663196+sergepetrenko@users.noreply.github.com>
- Date:
Generate changelog for 2.11.4
Also, remove unreleased/ entries.
NO_DOC=changelog
NO_TEST=changelog
NO_CHANGELOG=changelog
- Commit:
23c7899e5c81d2080c8feb193823893de1381491
- From:
- Nikita Zheleztsov <n.zheleztsov@proton.me>
- Via:
- Serge Petrenko <35663196+sergepetrenko@users.noreply.github.com>
- Date:
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)
- Commit:
9434531b431839b099ee65997f8800126d9b458d
- From:
- Nikita Zheleztsov <n.zheleztsov@proton.me>
- Via:
- Serge Petrenko <35663196+sergepetrenko@users.noreply.github.com>
- Date:
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)