[Tarantool-patches] [PATCH 1/2] box: fail in box_check_config() on bad sql cache size

Nikita Pettik korablev at tarantool.org
Fri Mar 6 00:00:29 MSK 2020


On 05 Mar 21:53, Vladislav Shpilevoy wrote:
> Hi! Thanks for the review!
> 
> On 05/03/2020 12:35, Nikita Pettik wrote:
> > On 05 Mar 01:14, Vladislav Shpilevoy wrote:
> >> It was calling box_check_sql_cache_size() assuming that it
> >> throws. But it returns 0/-1.
> >> ---
> >>  src/box/box.cc | 3 ++-
> >>  1 file changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/src/box/box.cc b/src/box/box.cc
> >> index 09dd67ab4..0212f34ad 100644
> >> --- a/src/box/box.cc
> >> +++ b/src/box/box.cc
> >> @@ -669,7 +669,8 @@ box_check_config()
> >>  	box_check_memtx_memory(cfg_geti64("memtx_memory"));
> >>  	box_check_memtx_min_tuple_size(cfg_geti64("memtx_min_tuple_size"));
> >>  	box_check_vinyl_options();
> >> -	box_check_sql_cache_size(cfg_geti("sql_cache_size"));
> >> +	if (box_check_sql_cache_size(cfg_geti("sql_cache_size")) != 0)
> >> +		diag_raise();
> >>  }
> > 
> > Is it possible to test this scenario: box.sql_cache_size is set to
> > incorrect value but box.internal:cfg_check() doesn't verify it?
> > I mean supply this patch with test case. If it turns out to be
> > too complicated, then nevermind. LGTM otherwise.
> 
> It is not testable. Sql_cache_size is always set from
> box_set_prepared_stmt_cache_size(), on first and all
> next configurations, and is always checked for returned
> value.

Ok, then mb it would be better to check rc in assertion
instead of diag_raise().. (since it can't fail here anyway)?



More information about the Tarantool-patches mailing list