From: "Alexander V. Tikhonov" <avtikhon@tarantool.org>
To: Serge Petrenko <sergepetrenko@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH] feedback_daemon: add synchro replication usage reporting
Date: Wed, 21 Oct 2020 11:42:20 +0300 [thread overview]
Message-ID: <20201021084220.GA158410@hpalx> (raw)
In-Reply-To: <414e784b-092a-de23-96a0-67b03ed34f5b@tarantool.org>
Hi Serge, I've checked results in gitlab [1], there no any new
degradation found. Patch LGTM.
[1] - https://gitlab.com/tarantool/tarantool/-/pipelines/205365404
On Tue, Oct 20, 2020 at 10:16:15PM +0300, Serge Petrenko wrote:
>
> 20.10.2020 20:09, Илья Конюхов пишет:
> > Hi,
> >
> > Please increment "feedback_version" each time you patch feedback daemon report. You can do it here - https://github.com/tarantool/tarantool/blob/cf6a9c64dea6a4385f3fd4719e44d0d9dc9ffee9/src/box/lua/feedback_daemon.lua#L359
> Hi! Thanks for your answer, done.
> > > 13 окт. 2020 г., в 16:34, Serge Petrenko <sergepetrenko@tarantool.org> написал(а):
> > >
> > > ---
> > > https://github.com/tarantool/tarantool/tree/sp/feedback_daemon_synchro
> > >
> > > src/box/lua/feedback_daemon.lua | 12 ++++++++++++
> > > test/box-tap/feedback_daemon.test.lua | 21 ++++++++++++++++++---
> > > 2 files changed, 30 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/src/box/lua/feedback_daemon.lua b/src/box/lua/feedback_daemon.lua
> > > index 179e8fb47..aa296c445 100644
> > > --- a/src/box/lua/feedback_daemon.lua
> > > +++ b/src/box/lua/feedback_daemon.lua
> > > @@ -150,6 +150,7 @@ local function fill_in_schema_stats_impl(schema)
> > > vinyl = 0,
> > > temporary = 0,
> > > ['local'] = 0,
> > > + sync = 0,
> > > }
> > >
> > > local indices = {
> > > @@ -188,6 +189,9 @@ local function fill_in_schema_stats_impl(schema)
> > > if space.is_local then
> > > spaces['local'] = spaces['local'] + 1
> > > end
> > > + if space.is_sync then
> > > + spaces.sync = spaces.sync + 1
> > > + end
> > > fill_in_indices_stats(space, indices)
> > >
> > > fiber.yield()
> > > @@ -222,10 +226,18 @@ local function fill_in_features(feedback)
> > > fill_in_schema_stats(feedback.features)
> > > end
> > >
> > > +local function fill_in_options(feedback)
> > > + local options = {}
> > > + options.election_mode = box.cfg.election_mode
> > > + options.synchro_quorum = box.cfg.replication_synchro_quorum
> > > + feedback.options = options
> > > +end
> > > +
> > > local function fill_in_feedback(feedback)
> > > fill_in_base_info(feedback)
> > > fill_in_platform_info(feedback)
> > > fill_in_features(feedback)
> > > + fill_in_options(feedback)
> > >
> > > return feedback
> > > end
> > > diff --git a/test/box-tap/feedback_daemon.test.lua b/test/box-tap/feedback_daemon.test.lua
> > > index a04995d8a..c1ae5f81b 100755
> > > --- a/test/box-tap/feedback_daemon.test.lua
> > > +++ b/test/box-tap/feedback_daemon.test.lua
> > > @@ -67,7 +67,7 @@ if not ok then
> > > os.exit(0)
> > > end
> > >
> > > -test:plan(19)
> > > +test:plan(21)
> > >
> > > local function check(message)
> > > while feedback_count < 1 do
> > > @@ -152,6 +152,7 @@ local expected = {
> > > vinyl_spaces = 0,
> > > temporary_spaces = 0,
> > > local_spaces = 0,
> > > + sync_spaces = 0,
> > > tree_indices = 0,
> > > rtree_indices = 0,
> > > hash_indices = 0,
> > > @@ -168,6 +169,7 @@ box.schema.create_space('features_vinyl', {engine = 'vinyl'})
> > > box.schema.create_space('features_memtx_empty')
> > > box.schema.create_space('features_memtx',
> > > {engine = 'memtx', is_local = true, temporary = true})
> > > +box.schema.create_space('features_sync', {is_sync=true})
> > > box.space.features_vinyl:create_index('vinyl_pk', {type = 'tree'})
> > > box.space.features_memtx:create_index('memtx_pk', {type = 'tree'})
> > > box.space.features_memtx:create_index('memtx_hash', {type = 'hash'})
> > > @@ -195,11 +197,12 @@ box.space.features_memtx:create_index('functional_multikey',
> > > actual = daemon.generate_feedback()
> > > local schema_stats = actual.features.schema
> > > test:test('features.schema', function(t)
> > > - t:plan(12)
> > > - t:is(schema_stats.memtx_spaces, 2, 'memtx engine usage gathered')
> > > + t:plan(13)
> > > + t:is(schema_stats.memtx_spaces, 3, 'memtx engine usage gathered')
> > > t:is(schema_stats.vinyl_spaces, 1, 'vinyl engine usage gathered')
> > > t:is(schema_stats.temporary_spaces, 1, 'temporary space usage gathered')
> > > t:is(schema_stats.local_spaces, 1, 'local space usage gathered')
> > > + t:is(schema_stats.sync_spaces, 1, 'sync space usage gathered')
> > > t:is(schema_stats.tree_indices, 6, 'tree index gathered')
> > > t:is(schema_stats.hash_indices, 1, 'hash index gathered')
> > > t:is(schema_stats.rtree_indices, 1, 'rtree index gathered')
> > > @@ -216,9 +219,21 @@ actual = daemon.generate_feedback()
> > > test:is(actual.features.schema.hash_indices, 2,
> > > 'internal cache invalidates when schema changes')
> > >
> > > +--
> > > +-- collect synchronous replication and election box.cfg options.
> > > +--
> > > +em = box.cfg.election_mode
> > > +quorum = box.cfg.replication_synchro_quorum
> > > +box.cfg{election_mode='candidate', replication_synchro_quorum=2}
> > > +actual = daemon.generate_feedback()
> > > +test:is(actual.options.election_mode, 'candidate', 'election_mode option reported')
> > > +test:is(actual.options.synchro_quorum, 2, 'replication_synchro_quorum option reported')
> > > +box.cfg{election_mode=em, replication_synchro_quorum=quorum}
> > > +
> > > box.space.features_vinyl:drop()
> > > box.space.features_memtx_empty:drop()
> > > box.space.features_memtx:drop()
> > > +box.space.features_sync:drop()
> > >
> > > test:check()
> > > os.exit(0)
> > > --
> > > 2.24.3 (Apple Git-128)
> > >
> --
> Serge Petrenko
>
prev parent reply other threads:[~2020-10-21 8:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-13 13:34 Serge Petrenko
2020-10-13 13:54 ` Serge Petrenko
2020-10-13 14:01 ` Cyrill Gorcunov
2020-10-13 14:05 ` Serge Petrenko
2020-10-13 15:56 ` Serge Petrenko
2020-10-14 23:50 ` Vladislav Shpilevoy
2020-10-15 8:30 ` Serge Petrenko
2020-10-15 19:45 ` Vladislav Shpilevoy
2020-10-20 17:09 ` Илья Конюхов
2020-10-20 19:16 ` Serge Petrenko
2020-10-21 8:42 ` Alexander V. Tikhonov [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201021084220.GA158410@hpalx \
--to=avtikhon@tarantool.org \
--cc=sergepetrenko@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH] feedback_daemon: add synchro replication usage reporting' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox