Skip to content
Snippets Groups Projects
  1. Jul 03, 2017
  2. Jun 30, 2017
    • Konstantin Osipov's avatar
      vinyl: point iterator merge fixes. · e2ba4c89
      Konstantin Osipov authored
      * use per-index statistics
      * remove step_count as it is no longer maintained
      * add statistics for txw, mem, and index overall
      e2ba4c89
    • alyapunov's avatar
      vinyl: implement special iterator for full-key EQ case · a20f0ddb
      alyapunov authored
      Old iterator has several problems:
      
      - restoration system is too complex and might cause several
        reads from disk of the same statements.
      
      - applying of upserts works in direct way (squash all upserts
        and apply them to terminal statement) and the code doesn't
        leave a change to optimize it.
      
      Implement iterator for full-key EQ case that fixes problems above.
      a20f0ddb
    • alyapunov's avatar
      vinyl: split index->version to mem_list_version/range_tree_version · 08bb9b27
      alyapunov authored
      There is a version member in vy_index that is incremented on each
      modification of mem list and range tree. Split it to two members
      that correspond to mem list and range tree accordingly.
      
      It is needed for more precise tracking of changes in iterators.
      08bb9b27
  3. Jun 29, 2017
  4. Jun 27, 2017
    • Konstantin Osipov's avatar
    • Vladimir Davydov's avatar
      vinyl: add per-index txw statistics · 44305191
      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
      44305191
    • Vladimir Davydov's avatar
      vinyl: add per-index cache statistics · 1bb7a8b2
      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
      1bb7a8b2
    • Vladimir Davydov's avatar
      vinyl: do not (ab)use vy_quota for vy_cache · 8e5834b8
      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.
      8e5834b8
    • Vladimir Davydov's avatar
      vinyl: add per-index disk write statistics · 542ce685
      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
      542ce685
    • Vladimir Davydov's avatar
      vinyl: add per-index mem and run iterator stat · 8105cec7
      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
      8105cec7
    • Vladimir Davydov's avatar
      Remove vinyl/info test · a1d7be12
      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.
      a1d7be12
    • Konstantin Osipov's avatar
      test: add comments to vinyl/upsert.test, remove an extra box.snapshot() · 60c72e78
      Konstantin Osipov authored
      gh-2520: add comments explaining the test case for gh-2520 (upsert
      caching).
      60c72e78
    • Vladislav Shpilevoy's avatar
      vinyl: make UPSERT prepare use of a cache as a hint · d3a2e815
      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
      d3a2e815
    • Vladislav Shpilevoy's avatar
      test: add test on upserts not used cache · da3d067b
      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
      da3d067b
    • Konstantin Osipov's avatar
      cbus: minor style fixes to improve code readability · 43bc7c4d
      Konstantin Osipov authored
      Minor style fixes to improve code readability. In scope of gh-2529.
      43bc7c4d
  5. Jun 26, 2017
  6. Jun 23, 2017
  7. Jun 22, 2017
Loading