Skip to content
Snippets Groups Projects
  1. Sep 12, 2016
  2. Sep 09, 2016
  3. Sep 08, 2016
  4. Sep 07, 2016
    • Roman Tsisyk's avatar
      vinyl: clean up test/vinyl/ suite · f8100077
      Roman Tsisyk authored
      * Remove useless ./vinyl/lock and test/vinyl/suite.lua
      * Fix vinyl/info.test.lua
      
      Follow up ca00c503 and
                24a5e45b
      f8100077
    • Roman Tsisyk's avatar
      vinyl: add min_key to struct vy_range · bfe23238
      Roman Tsisyk authored
      Fixes #1743
      Fixes #1749
      bfe23238
    • Roman Tsisyk's avatar
      vinyl: fix vinyl/info.test.lua · 24a5e45b
      Roman Tsisyk authored
      24a5e45b
    • Vladimir Davydov's avatar
      vinyl: zap index->lock · 4986e878
      Vladimir Davydov authored
      All manipulations on range tree are now done from the tx thread, while
      worker threads only write runs to disk, so the lock is not needed any
      longer.
      4986e878
    • Vladimir Davydov's avatar
      vinyl: split vy_dump into begin and commit stages · f991838a
      Vladimir Davydov authored
      Call 'begin' from task->execute and 'commit' from task->complete.
      'begin' writes runs to the disk, while 'commit' manipulates the range
      tree, renames range files and updates range index. After this change we
      don't need index->lock anymore - the next patch gets rid of it.
      
      This patch makes vy_task look like a real mess - we probably should keep
      arguments for different tasks as structs in a union. Also, the wrappers
      around vy_dump_{begin,commit} as well as vy_range_compact_{begin,commit}
      doesn't look very helpful. But let's leave mere cleanups and refactoring
      up to the following patches.
      
      Closes #1685
      f991838a
    • Vladimir Davydov's avatar
      vinyl: split vy_range_compact into begin and commit stages · 4007b7a6
      Vladimir Davydov authored
      Call 'begin' from task->execute and 'commit' from task->complete.
      'begin' writes runs to the disk, while 'commit' manipulates the range
      tree, renames range files and updates range index. This is a step
      towards removal of index->lock.
      4007b7a6
    • Vladimir Davydov's avatar
      vinyl: switch vy_task to vtable · 6bf24021
      Vladimir Davydov authored
      We need one more operation apart from 'execute'. It is 'complete', which
      may be used to finish the task from the scheduler context and perhaps
      schedule another task. So let's switch vy_task to vtable. Note,
      'complete' is only called if 'execute' finished successfully.
      6bf24021
    • Vladimir Davydov's avatar
      vinyl: fix merge iterator · 263e3098
      Vladimir Davydov authored
      It doesn't work if there are more than 2 sources. The fix is
      self-obvious.
      
      Closes #1725
      263e3098
    • Svyatoslav Feldsherov's avatar
      Remove bps_tree prefix · dac925fd
      Svyatoslav Feldsherov authored
      Fixes #1695
      dac925fd
    • Nick Zavaritsky's avatar
      Socket overhaul (1) · 287e157b
      Nick Zavaritsky authored
       * Internally, libev maintains a list of watchers for each monitored fd.
         Add ev_io_closing(fd), does ev_feed_event() for each watcher affected.
      
       * Add coio_close()  [Public API]
         Wakes all fibers blocked in coio_wait() AND closes the fd.
         Prerequisite for #886 Non-blocking popen.
      
       * Lua socket switched to coio_close(); stop tracking
         waiters explicitly.
      
       * socket ::= { _gc_socket = <ffi:struct gc_socket> }, _gc_socket
         was previously known as socket. Gc_socket stores the fd in
         immutable field.
      
       * Overall socket module cleanup.
      287e157b
Loading