Skip to content
Snippets Groups Projects
  1. Aug 21, 2017
  2. Aug 19, 2017
  3. Aug 18, 2017
    • Vladimir Davydov's avatar
      vinyl: handle empty run/slice properly · ebf1be88
      Vladimir Davydov authored
      Fix minor issues found by coverity scan:
       - Do not try to estimate slice size if the run is empty to avoid div/0.
       - Fix assert() that is supposed to check slice->first_page_no, but
         checks last_page_no instead.
       - If the slice doesn't intersect with the run (i.e. slice->end is less
         than or equal to run->begin), leave its stats zeroed out.
      ebf1be88
    • Roman Tsisyk's avatar
      Update src/lib/small · 8b26400a
      Roman Tsisyk authored
      Closes #2698
      8b26400a
    • Alexandr Lyapunov's avatar
      vinyl: fix a bug in adding of a cache chain · dd926790
      Alexandr Lyapunov authored
      The bug happens when some TX deletes a statement (writes it to
      its own write set) and then reads a range of tuples containing
      that deleted statement. DELETE must not come to select result
      (in this and only transaction before it is committed) and
      just are skipped by read iterator. After such a skipping and
      getting next true (non-DELETE) statement the iterator considers
      that there is no data between the previous statement and the
      current, and add them to the cache as a chain. This is wrong
      because the data could be hidden by DELETE statement.
      
      Track such jumps over TXW DELETE statements in read iterator and
      do not add statements as a chain in this case.
      dd926790
    • Vladimir Davydov's avatar
      vinyl: do not track partial reads in tx manager · eb5cd536
      Vladimir Davydov authored
      We use a binary tree for tracking reads (read_set). The tree is ordered
      by (index, statement, tx). Insertion of a partial statement into the
      tree may result in breaking comparison transitivity, which is mandated
      by the tree implementation. However, for range requests we insert the
      search key into the read set, which may be partial. This may result in a
      crash in the read_set.
      
      Tracking the search key doesn't make much sense anyway: it doesn't bring
      us any closer to range request tracking, only obscures the semantics of
      select. So let's track only statements actually returned by the iterator
      plus gaps found by point requests.
      
      Closes #2675
      eb5cd536
    • Roman Tsisyk's avatar
      test: fix engine/truncate failure · b018785e
      Roman Tsisyk authored
      Fix bad merge of 945a97db and 7a5835f4
      b018785e
    • Konstantin Osipov's avatar
    • Vladimir Davydov's avatar
      test: fix vinyl/recovery_quota failure · 71c18042
      Vladimir Davydov authored
      A dump task can be scheduled or completed after we saved stats.
      Make sure this doesn't happen.
      
      Closes #2696
      71c18042
    • Roman Tsisyk's avatar
      arm: fix compilation and tests · 945a97db
      Roman Tsisyk authored
      945a97db
    • Georgy Kirichenko's avatar
      arm: fix build for arm w/o thumb2 · 6c838dff
      Georgy Kirichenko authored
      Do not use thumb specifier for asm code, use unified syntax directive
      instead.
      6c838dff
    • Vladimir Davydov's avatar
      test: fix engine/truncate failure · 7a5835f4
      Vladimir Davydov authored
      Revoke permissions granted by the test.
      7a5835f4
  4. Aug 17, 2017
  5. Aug 16, 2017
    • Roman Tsisyk's avatar
      Update LuaRocks · 0905310e
      Roman Tsisyk authored
      Closes #2609
      Closes #2633
      Closes #2616
      0905310e
    • Georgy Kirichenko's avatar
      ac39d4b8
    • Alexandr Lyapunov's avatar
      vinyl: fix assertion in cache add · 10e54768
      Alexandr Lyapunov authored
      vinyl_cache_add takes pair of statements - current and previous.
      By design, there must be no statements in cache between them.
      
      Some time ago a check was made that the previous statement is in
      cache and lays right next to current statement; if that was not
      true, the function exited without building a cache chain.
      The was wrong because there are some cases when the statement
      could be removed by TX finalize/rollback after prepare or even by
      cache garbage collector.
      
      Later in this check 'return' was replaced by 'assert' and that
      caused rare test crash.
      
      Fix this check. Check only two things 1) absence of entries between
      current and previous statements 2) presence of previous statement
      if current is already in chain.
      
      Add a test case.
      
      See code comments for details.
      
      Fixes #2685
      10e54768
    • Roman Tsisyk's avatar
      Fix flaky box/tuple.test.lua · 3be799de
      Roman Tsisyk authored
      Discard xlogs with large tuples after decreasing memtx_max_tuple_size.
      
      Follow up #2667
      3be799de
    • Alexandr Lyapunov's avatar
      Add errinj for point iterator test · 1083b128
      Alexandr Lyapunov authored
      Add a special dump-waiting error injection to vy_point_iterator_get
      that will wait for a dump completion. Use it in test and make code
      coverage complete.
      
      In the point iterator test
      1083b128
    • Alexandr Lyapunov's avatar
      Fix errors in point_iterator and enable it back · 2ed561af
      Alexandr Lyapunov authored
      Fix a couple of mistakes in point_iterator and enable it back.
      
      Disable 'could be serializable' suggestion in tx_conflic test
      since new point iterator adds its key to read set before reading
      from disk and that leads to unnecessary conflicts sometimes.
      
      Fix #2662
      2ed561af
  6. Aug 15, 2017
    • Roman Tsisyk's avatar
      tuple: move box_tuple methods to tuple.c · 1a85df72
      Roman Tsisyk authored
      No semantic changes.
      
      Follow up #2047
      1a85df72
    • Roman Tsisyk's avatar
      Enable box.tuple.new() to work without box.cfg() · d5970d6f
      Roman Tsisyk authored
      * Remove dependency on memtx from tuple_format_default
      * Add tuple_new() to create standalone tuples
      * Allow box.tuple.new() without box.cfg()
      
      Closes #2047
      d5970d6f
    • Roman Tsisyk's avatar
      test: tweak tests after increasing slab size · a9340f0e
      Roman Tsisyk authored
      Follow up the previos commit.
      
      See #2667
      a9340f0e
    • Roman Tsisyk's avatar
      memtx: allow to insert tuples bigger than slab size · 62004d6b
      Roman Tsisyk authored
      - Use slab_get() as a fallback for smalloc() for large size
      - Set MemTX slab_size to 16Mb and don't use memtx_max_tuple_size
        for calculation (Vinyl is not changed yet)
      - Allow dynamic configuration of memtx_max_tuple_size
      
      Closes #2667
      62004d6b
    • Alexander Turenko's avatar
      http: add new options for http.client · 5d9cca7b
      Alexander Turenko authored
      Added options:
      
      * verify_host - CURLOPT_SSL_VERIFYHOST;
      * verify_peer - CURLOPT_SSL_VERIFYPEER;
      * ssl_key - CURLOPT_SSLKEY;
      * ssl_cert - CURLOPT_SSLCERT.
      5d9cca7b
    • Georgy Kirichenko's avatar
      Add hot function reload for C procedures · 96938faf
      Georgy Kirichenko authored
      This patch adds ability to reload C procedures on the fly without
      downtime. To achive that, Tarantool loads a new copy of shared
      library and starts routing all new request to the new version.
      The previous version remains active until all started calls
      are finished. All shared libraries are loaded with RTLD_LOCAL,
      therefore two or more copies can co-exist without any problems.
      From now box loads all external modules via an unique symlink to
      avoid caching inside dlopen().
      
      If one of some module function is reloaded then all other functions
      from this module will be reloaded.
      
      Reviewed and heavily patched by Roman Tsisyk.
      
      Closes #910
      96938faf
    • Roman Tsisyk's avatar
      Use new rbtree iterators · 738a6afd
      Roman Tsisyk authored
      rbtree_next() has log(N) complexity to advance to the right subtree.
      The new iterators saves the iteration path during descent.
      
      Closes #1668
      738a6afd
    • Roman Tsisyk's avatar
      Ignore tarantool_free() from non-main thread · fa759718
      Roman Tsisyk authored
      panic() from non-main thread calls exit(), which fires
      at_exit triggers, which try to destroy TX data.
      
      Closes #2686
      fa759718
Loading