- Jul 20, 2018
-
-
Vladimir Davydov authored
The new command is supposed to supersede IPROTO_REQUEST_VOTE, which is difficult to extend, because it uses the global iproto key namespace. The new command returns a map (IPROTO_BALLOT), to which we can add various information without polluting the global namespace. Currently, the map contains IPROTO_BALLOT_IS_RO and IPROTO_BALLOT_VCLOCK keys, but soon it will be added info needed for replica rebootstrap feature. Needed for #461
-
- Jul 19, 2018
-
-
Kirill Yukhin authored
-
Kirill Shcherbatov authored
_say function was called with invalid arguments. Thank @sorc1 for patch. Closes #3433.
-
Olga Arkhangelskaia authored
Strdup may silently fail without any message from tarantool. Patch adds this checks.
-
Kirill Shcherbatov authored
Strings containing "true" and "false" were converted to a boolean type when serializing. Fixed. Example: type(yaml.decode(yaml.encode('false'))) == string type(yaml.decode(yaml.encode('true'))) == string Closes #3476.
-
Kirill Shcherbatov authored
Function tonumber64 has worked incorrectly with values less than INT64_MAX. Now it works in the interval [INT64_MAX, UINT64_MAX] returning nil otherwise. Closes #3466.
-
Kirill Shcherbatov authored
Net.box didn't pass options containing iterator to server side. There were also invalid results for two :count tests in net.box.result file. Thanks @ademenev for contributing problem and help with problem locating. Closes #3262.
-
Vladimir Davydov authored
Currently, this function takes a single boolean argument, but I'm planning to add another one. Since two bool arguments look rather confusing, let's turn this arguments into flags. Needed for #461
-
Konstantin Osipov authored
A small cleanup to avoid a potentially inefficient use of gc_consumer_vclock(). Follow up on a patch for gh-461.
-
Vladimir Davydov authored
In order to check if a replica needs to be rebootstrapped, we need to know the vclock of the oldest WAL stored on the master, but the garbage collector works with signatures and hence can't report the vclock it was last called for. Actually, all gc users have a vclock and can pass it instead of signature so it's pretty easy to switch garbage collection infrastructure to vclock. Needed for #461
-
- Jul 18, 2018
-
-
Vladimir Davydov authored
We will need it in other places.
-
Vladimir Davydov authored
- Remove extra scan of the WAL directory from local_recovery() - we scan the directory in recovery_end_vclock() hence we can skip scan in recover_remaining_wals() by passing scan_dir = false. - Rename recovery_end_vclock() to recovery_scan() to emphasize the fact that this function scans the WAL directory. Write a comment to this function. - Add comments to wal.c explaining why we scan the WAL directory there. Follow-up 0695fbbb ("box: retrieve end vclock before starting local recovery").
-
Vladimir Davydov authored
To bring crash_expected option of "start server" command.
-
Serge Petrenko authored
There were no checks for granting and revoking a non-existent privilege or a privilege to a non-existent entity. Added the checks, and a test case. Closes #3417
-
- Jul 17, 2018
-
-
Kirill Shcherbatov authored
Net.box didn't pass options containing iterator to server side. There were also invalid results for two :count tests in net.box.result file. Thanks @ademenev for contributing problem and help with problem locating. Closes #3262.
-
Vladimir Davydov authored
If is_first_insert flag is set and vy_stmt_type(rv->tuple) equals IPROTO_DELETE, we free rv->tuple, but then we dereference it via an on-stack variable to check if we need to turn a REPLACE into an INSERT or vice versa. Fix this.
-
Vladimir Davydov authored
This is not necessary, as we can use fiber()->gc, as we usually do.
-
Vladimir Davydov authored
Move key_def creation to compare_write_iterator_results as it is the same for all test cases. Performance is not an issue here, obviously, so we can close our eyes to the fact that now we create a new key def for each test cases.
-
Vladimir Davydov authored
The new function inserts a new item into the list at the specified postion.
-
- Jul 16, 2018
-
-
Kirill Yukhin authored
-
Georgy Kirichenko authored
If a fiber pool reuses already canceled fiber then the fiber reports an error for any next request. Now canceled fiber returns and fiber pool creates a new one. Fixes #3527
-
- Jul 13, 2018
-
-
Kirill Yukhin authored
-
Kirill Yukhin authored
New commit in third_party/libyaml downgrades required cmake version.
-
Ivan Kosenko authored
-
- Jul 12, 2018
-
-
Kirill Yukhin authored
-
Kirill Shcherbatov authored
Need to update tests as with fixup in upstrem commit baf636a74b4b6d055d93e2d01366d6097eb82d90 Author: Tina Müller <cpan2@tinita.de> Date: Thu Jun 14 19:27:04 2018 +0200 The closing single quote needs to be indented... if it's on its own line. Closes #3275.
-
Kirill Yukhin authored
Closes #3275.
-
Kirill Yukhin authored
-
Vladislav Shpilevoy authored
Found by @ImeevMA
-
- Jul 11, 2018
-
-
Vladimir Davydov authored
- Factor out local_recovery() from box_cfg_xc(). Make it setup replication and handle local recovery and hot standby cases. - Move replication setup in case of initial bootstrap from box_cfg_xc() to bootstrap() to make bootstrap() consistent with local_recovery(). - Move initial snapshot creation from bootstrap() to bootsrap_master() and bootstrap_from_master(). Needed for #461
-
Vladimir Davydov authored
box_sync_replication() can now be called before recovery, right after box_listen(). This is a step toward detecting if the instance fell too much behind its peers in the cluster and so needs to be rebootstrapped. Needed for #461
-
Vladimir Davydov authored
In order to find out if the current instance fell too much behind its peers in the cluster and so needs to be re-bootstrapped we need to connect it to remote peers before proceeding to local recovery. The problem is box.cfg.replication may have an entry corresponding to the instance itself so before connecting we have to start listening to incoming connections. So this patch moves the call to box_listen() before recoery is started unless the instance in hot standby mode. It also folds box_bind() into box_listen() as it is no longer needed as a separate function. Needed for #461
-
Vladimir Davydov authored
In order to find out if the current instance fell too much behind its peers in the cluster and so needs to be rebootstrapped, we need to know its vclock before we start local recovery. To do that, let's scan the most recent xlog. In future, we can optimize that by either storing end vclock in xlog eof marker or by making a new xlog on server stop. Needed for #461
-
Vladimir Davydov authored
Introduce vclock_is_set() helper and use it on xlog_meta::prev_vclock instead. Follow-up ac90b498 ("xlog: store prev vclock in xlog header").
-
- Jul 10, 2018
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Vladimir Davydov authored
Store replication group id in vylog and ignore spaces whose group_id equals GROUP_LOCAL when relaying initial join rows. Folow-up #3443
-
Vladimir Davydov authored
Follow-up #3443
-
Vladimir Davydov authored
Replica local spaces can't cause replication conflicts so we don't really need to respect box.cfg.read_only for them (they are similar to temporary spaces in this regard). Follow-up #3443
-
Konstantin Belyavskiy authored
Next checkpoint time is set by the formula: period = self.checkpoint_interval + offset, where offset is defined as follow: offset = random % self.checkpoint_interval So offset must be calculated again if at least the new interval is less than the old one. Closes #3370
-