From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 5F7FE282A0 for ; Mon, 30 Jul 2018 04:56:24 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZbyWCFIHnPh5 for ; Mon, 30 Jul 2018 04:56:24 -0400 (EDT) Received: from smtp56.i.mail.ru (smtp56.i.mail.ru [217.69.128.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 976262829B for ; Mon, 30 Jul 2018 04:56:23 -0400 (EDT) From: AKhatskevich Subject: [tarantool-patches] [PATCH v4] vshard module reload Date: Mon, 30 Jul 2018 11:56:02 +0300 Message-Id: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: v.shpilevoy@tarantool.org, tarantool-patches@freelists.org Issue1: https://github.com/tarantool/vshard/issues/112 Issue2: https://github.com/tarantool/vshard/issues/125 Branch: https://github.com/tarantool/vshard/tree/kh/gh-112-reload-mt-2 This patcheset improves vshard reload mechanism. Changes since PATCH v2: - Races related to object outdating are fixed. - Reloadable fiber is refactored (allow to pass a data to a function). AKhatskevich (4): Fix races related to object outdating Refactor reloadable fiber tests: separate bootstrap routine to a lua_libs Introduce storage reload evolution .travis.yml | 2 +- rpm/prebuild.sh | 2 + test/lua_libs/bootstrap.lua | 50 +++++ test/lua_libs/git_util.lua | 51 +++++ test/lua_libs/util.lua | 20 ++ test/rebalancer/box_1_a.lua | 47 +--- test/rebalancer/errinj.result | 2 +- test/rebalancer/errinj.test.lua | 2 +- test/rebalancer/rebalancer.result | 4 +- test/rebalancer/rebalancer.test.lua | 4 +- test/rebalancer/rebalancer_lock_and_pin.result | 2 +- test/rebalancer/rebalancer_lock_and_pin.test.lua | 2 +- test/rebalancer/restart_during_rebalancing.result | 2 +- .../rebalancer/restart_during_rebalancing.test.lua | 2 +- test/rebalancer/stress_add_remove_rs.result | 2 +- test/rebalancer/stress_add_remove_rs.test.lua | 2 +- .../rebalancer/stress_add_remove_several_rs.result | 2 +- .../stress_add_remove_several_rs.test.lua | 2 +- test/rebalancer/suite.ini | 2 +- test/reload_evolution/storage.result | 245 +++++++++++++++++++++ test/reload_evolution/storage.test.lua | 87 ++++++++ test/reload_evolution/storage_1_a.lua | 48 ++++ test/reload_evolution/storage_1_b.lua | 1 + test/reload_evolution/storage_2_a.lua | 1 + test/reload_evolution/storage_2_b.lua | 1 + test/reload_evolution/suite.ini | 6 + test/reload_evolution/test.lua | 9 + test/router/reload.result | 4 +- test/router/reload.test.lua | 4 +- test/storage/reload.result | 6 +- test/storage/reload.test.lua | 6 +- test/unit/garbage.result | 2 +- test/unit/garbage.test.lua | 2 +- test/unit/reload_evolution.result | 45 ++++ test/unit/reload_evolution.test.lua | 18 ++ test/unit/util.result | 20 +- test/unit/util.test.lua | 12 +- vshard/replicaset.lua | 30 +-- vshard/router/init.lua | 74 ++++--- vshard/storage/init.lua | 33 ++- vshard/storage/reload_evolution.lua | 58 +++++ vshard/util.lua | 59 ++--- 42 files changed, 798 insertions(+), 175 deletions(-) create mode 100644 test/lua_libs/bootstrap.lua create mode 100644 test/lua_libs/git_util.lua create mode 100644 test/reload_evolution/storage.result create mode 100644 test/reload_evolution/storage.test.lua create mode 100755 test/reload_evolution/storage_1_a.lua create mode 120000 test/reload_evolution/storage_1_b.lua create mode 120000 test/reload_evolution/storage_2_a.lua create mode 120000 test/reload_evolution/storage_2_b.lua create mode 100644 test/reload_evolution/suite.ini create mode 100644 test/reload_evolution/test.lua create mode 100644 test/unit/reload_evolution.result create mode 100644 test/unit/reload_evolution.test.lua create mode 100644 vshard/storage/reload_evolution.lua -- 2.14.1