- Apr 11, 2017
-
-
Vladimir Davydov authored
Remember the lsn of the last checkpoint when backup starts and make sure that box.internal.gc doesn't delete any files that are needed to recover from this checkpoint or a newer one until backup is stopped.
-
Vladimir Davydov authored
Previous vylog file is required for backups. Currently, we preserve it on garbage collection only if there have been no snapshots since backup started, otherwise it will be removed by box.internal.gc, which will break backup. Fix this by skipping the vylog file that was created before the lsn passed to box.internal.gc.
-
Alexandr Lyapunov authored
Actually the bugged test must hang tarantool, but it didn't because of a bug in vinyl commit, that will be be fixed later. Fix a bug in the test anyway.
-
Alexandr Lyapunov authored
-
Roman Tsisyk authored
See #2280
-
- Apr 10, 2017
-
-
Vladimir Davydov authored
It's unclear how to backup an indexe with custom path. Since the user can effectively store files of a vinyl index in any directory with the aid of symbolic links, let's just drop this option.
-
Vladimir Davydov authored
We might need it, e.g. for merging runs at the master's side on initial join.
-
Vladimir Davydov authored
Move them to key_def.cc and make them suitable to be used from C. This is needed to store key_def in the vinyl metadata log.
-
Vladimir Davydov authored
index_def_set_part() does not need a full index definition, a key_def is enough.
-
bigbes authored
-
Georgy Kirichenko authored
Add box_tuple_compare_with_key to module api. See #2225
-
- Apr 07, 2017
- Apr 06, 2017
-
-
Konstantin Osipov authored
Bikeshed to simplify merge of gh-1842, representing another noisy change in gh-1842. No semantical changes.
-
Alexandr Lyapunov authored
* add comments * move the transaction management code to a single place * no semantical changes
-
Vladimir Davydov authored
There's an optimization in vy_range_rotate_mem() which makes it delete the active in-memory tree instead of moving it to the frozen list provided it's empty. However, since commit 8116f209 ("vinyl: pin in-memory trees on tx prepare") an empty in-memory tree may be pinned by an ongoing transaction, in which deleting it will result in use after free in vy_tx_write().
-
Vladimir Davydov authored
-
Vladislav Shpilevoy authored
-
Vladislav Shpilevoy authored
Test is broken by design.
-
Konstantin Osipov authored
-
Vladimir Davydov authored
Pin each in-memory tree which is going to be modified by a transaction on Engine::prepare, unpin it on commit or rollback. Pinned in-memory trees can't be dumped until they are unpinned - dump/compaction task constructors wait until pin_count drops to 0 before handing the task over to a worker thread. Since the constructors rotate the in-memory tree before waiting and new transaction can only go to active in-memory trees, they won't wait forever, only until all transactions that were started before the task was scheduled are over. This is needed to insert statements into in-memory trees on tx prepare, not on tx commit as per now. Note, since vy_scheduler->checkpoint_lsn is only set after wal_checkpoint() while we select the in-memory tree to insert a new statement into in Engine::prepare, i.e. before writing to WAL, in order to guarantee snapshot consistency (i.e. that no statements inserted after WAL rotation will make it to the snapshot) we have to change the condition triggering rotation of the in-memory tree upon insertion of a statement from: mem->min_lsn <= checkpoint_lsn to mem->snapshot_version != snapshot_version (snapshot_version is increased on snapshot before wal_checkpoint())
-
Konstantin Osipov authored
Vinyl transaction manager does not allow a transaction to have lsn 0. This is a pre-requisite for the patch for gh-1842 (vy_tx_write() rewrite).
-
Konstantin Osipov authored
-
- Apr 05, 2017
-
-
Konstantin Osipov authored
Make struct recovery_journal re-usable and employ it during final join, to ensure the engine has correct LSNs during final join. Ensure we properly set recovery_journal when bootstrapping a replica from a remote master and reading master write ahead log. This is necessary for Vinyl, which expects strictly monotonic transaction signatures on commit at all times.
-
bigbes authored
-
Roman Tsisyk authored
+ Travis CI + Telegram + Slack + Google Groups
-
Ilya authored
Fixes #2261
-
Ilya authored
Rewrite this test using TAP to avoid interference of test-run. Fixes #1849
-
Roman Tsisyk authored
Moved to tarantool/doc repository.
-
Roman Tsisyk authored
-
lenkis authored
Closes #1488
-
Roman Tsisyk authored
Fixes #2190
-
Oleg Kovalev authored
-
- Apr 04, 2017
-
-
Georgy Kirichenko authored
Handle event loop for every 0.1M of restored snapshot rows. Issue #2108
-
Konstantin Osipov authored
vinyl expects that entry->res contains a correct signature of the transaction. We used to sloppily assign it to some non-zero signature of the last committed transaction in the batch in case of success. Vinyl expects an exact value, growing monotonically for each next transaction. Optimistically promote writer vclock with replica vclock before write, in hope that the same row is never applied twice. To be covered with test and addressed in a separate patch (gh-2283).
-