- Jun 27, 2017
-
-
Konstantin Osipov authored
-
Vladimir Davydov authored
This patch adds the following counters to index.info: txw count # number of statements in the TX write set rows bytes iterator lookup # number of lookups in the TX write set get # number of statements returned by the iterator rows bytes Needed for #1662
-
Vladimir Davydov authored
This patch adds the cache section to index.info with the following counters in it: cache rows # number of tuples in the cache bytes # cache memory size lookup # lookups in the cache get # reads from the cache rows bytes put # write to the cache rows bytes invalidate # overwrites in the cache rows bytes evict # evictions due to memory quota rows bytes Needed for #1662
-
Vladimir Davydov authored
Using vy_quota, which was implemented to support watermarking, throttling, timeouts, for accounting cached tuples is an overkill. Replace it with mem_used and mem_quota counters.
-
Vladimir Davydov authored
This patch adds the following counters to the disk section index.info: dump # dump statistics: count # number of invocations in # number of input statements rows bytes out # number of output statements rows bytes compact # compaction statistics: count # number of invocations in # number of input statements rows bytes out # number of output statements rows bytes Needed for #1662
-
Vladimir Davydov authored
Replace box.info.vinyl().performance.iterator.{run,mem} global counters with the following per index counters: memory iterator lookup # number of lookups in the memory tree get # number of statements returned by mem iterator rows bytes disk iterator lookup # number of lookups in the page index get # number of statements returned by run iterator rows bytes bloom # number of times bloom filter hit # allowed to avoid a disk read miss # failed to prevent a disk read read # number of statements actually read from disk rows bytes bytes_compressed pages Needed for #1662
-
Vladimir Davydov authored
It's useless - it only checks that certain counters are present, but doesn't give a damn about what they show. At the same time, I have to update its output every time I modify vinyl statistics, which I'm doing pretty often these days. So let's ditch it - I'll rewrite it from scratch after I'm done reworking vinyl statistics.
-
Konstantin Osipov authored
gh-2520: add comments explaining the test case for gh-2520 (upsert caching).
-
Vladislav Shpilevoy authored
Use a tuple cache to turn an UPSERT in the PREPARE, if the cache contains a tuple with the exact same key. The UPSERT can be applied to the cached tuples, because 1. The cache always contains only REPLACE statements; 2. The cache always contains only newest statements. Closes #2520
-
Vladislav Shpilevoy authored
When an UPSERT is prepared, it can use a cached statement to be turned into REPLACE. But now it doesn't use the cache. Test for #2520
-
Konstantin Osipov authored
Minor style fixes to improve code readability. In scope of gh-2529.
-
- Jun 26, 2017
-
-
Georgy Kirichenko authored
Do not unlock endpoint until a flushing async message is sent and do not destroy endpoint until last pipe release endpoint lock. Fixed #2529
-
Konstantin Osipov authored
* use name_len and sz consistently across all patches working with names and lengths * do not delete user_def for a system user during init * use calloc(), since we're using it for index_def as well.
-
Vladislav Shpilevoy authored
-
Vladislav Shpilevoy authored
Need for #944
-
Vladimir Davydov authored
-
Vladimir Davydov authored
In scope of gh-2547 (lost of space access control lists during truncate).
-
Konstantin Osipov authored
* use an existing index_def from the new space instead. IMO makes the code a bit easier to follow. In scope of work on gh-944 (variable length object names).
-
Konstantin Osipov authored
* we use name_len for name length in most of the places, len is a widespread abbreviation for length * add comments
-
Vladislav Shpilevoy authored
Needed for #944
-
Vladislav Shpilevoy authored
-
- Jun 23, 2017
-
-
Roman Tsisyk authored
-
Roman Tsisyk authored
Malformed MessagePack can cause `int k` counter overflow inside mp_check()/mp_next(). See https://github.com/tarantool/nginx_upstream_module/issues/79 See https://github.com/rtsisyk/msgpuck/issues/16 Closes #2540
-
- Jun 22, 2017
-
-
Konstantin Osipov authored
-
Vladislav Shpilevoy authored
-
Konstantin Osipov authored
-
Ilya authored
In case of default log output flag o_NONBLOCK is not set to descriptor
-
- Jun 21, 2017
-
-
Roman Tsisyk authored
Follow up 15a9af26
-
Roman Tsisyk authored
exp2(64) <= UINT64_MAX is true due to type conversion. Use exp2(64) instead of UINT64_MAX (optimized out even on -O0). Fixes buggy box/indices_any_type.test.lua on x86_64 Closes #2472
-
Roman Tsisyk authored
ffi.new('long', x) and ffi.new('unsigned long', x) uses arbitratry user-defined ctypeid instead of built-in CTID_INT32 and CTID_UINT32. Our tonumber64() implementation is not ready for that. Remove these two test cases and move forward. Nobody cares. Fixes box/misc.test.lua on i386 and armhf Follow up #2459
-
Roman Tsisyk authored
lua_tointeger() is equivalent to (ptrdiff_t)lua_tonumber(L), which causes precision loss on 32-bit systems when you expect to get a proper uint32_t value. LuaJIT stores numbers as doubles, so lua_tointeger() makes absolutely no sense. Replace lua_tointeger() with lua_tonumber() everywhere except cases when result is converted to int or lua_Integer. Fixes box/indices_any_type.test.lua on i386 and armhf Closes #2459
-
Vladimir Davydov authored
It is unsafe, because system spaces use triggers to keep records in sync with internal objects while space truncation doesn't invoke triggers. Closes #2523
-
Vladimir Davydov authored
Currently, space.create must insert an entry into 'truncate' system space - if it does not, space.truncate won't work. This is incontinent, as it makes it impossible to create spaces by simply inserting a tuple into the 'space' system space via iproto API. So let's insert entries into truncate space lazily, on the first space truncation. Closes #2524
-
Vladimir Davydov authored
Space truncation is implemented as recreation of a space and all its indexes. On success the original space is deleted by the commit trigger, while on failure the new space is deleted by the rollback trigger. The commit/rollback triggers are always called before commit/rollback engine methods, which makes space truncation incompatible with transactions: engine commit/rollback may access a space that have already been deleted by commit/rollback trigger installed by space truncation, resulting in a crash. So let's forbid to use space.truncate from a transaction until triggers are made transaction-friendly. Closes #2525
-
- Jun 20, 2017
-
-
Vladimir Davydov authored
Closes #2531
-
Vladislav Shpilevoy authored
Part of #2507
-
Vladislav Shpilevoy authored
In order of xrow library creating, exceptions must be removed from xrow.cc, before renaming xrow.cc to xrow.c. Part of #2507
-
Roman Tsisyk authored
* Fix handling of encoded data * Remove \n added by libyaml * Add a test case Follow up #128
-
Roman Tsisyk authored
CURLOPT_POST option without explicitly set CURLOPT_POSTFIELDS caused libcurl to use some internal implementation of CURLOPT_READFUNCTION, which reads body from stdin by default. Provided test case only covers argument handling because there is no repetable way to check reads from stdin from our test suite. Closes #2530
-
Ilya authored
Old variant converted tuple to Lua table and then encoded to yaml New variant encodes tuple to yaml directly. Results of benchmarking with: old: 1m27.555s new: 0m48.738s Acceleration 44% Closes #128
-