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

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Fri Mar 6 00:17:17 MSK 2020



On 05/03/2020 22:00, Nikita Pettik wrote:
> 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)?
> 

It can fail in box_check_config(). But the error won't be different
from checking it later during set.


More information about the Tarantool-patches mailing list