Skip to content
Snippets Groups Projects
  1. Jul 30, 2014
  2. Feb 14, 2014
    • Konstantin Osipov's avatar
      o_direct: review comments · 4a9aa2ee
      Konstantin Osipov authored
      Fix styler
      Clarify tricky pieces of the code (at least make them clearer to yours
      truly).
      Fix a bug with incorrect return value from fwrite() & O_DIRECT.
      4a9aa2ee
  3. Jan 30, 2014
  4. Jan 14, 2014
  5. Dec 27, 2013
  6. Dec 05, 2013
  7. Nov 25, 2013
  8. Sep 27, 2013
  9. Sep 24, 2013
  10. Sep 23, 2013
  11. Sep 20, 2013
  12. Jul 01, 2013
  13. Jun 20, 2013
  14. Jun 11, 2013
  15. Jun 05, 2013
  16. Jun 04, 2013
  17. Jun 03, 2013
  18. Mar 13, 2013
    • Konstantin Osipov's avatar
      Decouple tbuf and pickle. · 44fab8fe
      Konstantin Osipov authored
      Reorganize iproto parser (pickle) around two pointers at the request
      parsing position and request end.
      This makes the code more generic and easily usable in lua and
      with new buffered I/O.
      
      This also reduces the current widespread use of tbuf throughout
      entire code base (good for future maintainability of the code).
      44fab8fe
  19. Feb 14, 2013
  20. Dec 21, 2012
  21. Dec 20, 2012
  22. Oct 15, 2012
  23. Oct 05, 2012
    • Konstantin Osipov's avatar
      Refactoring: make sure row applier is called with context. · a48b9108
      Konstantin Osipov authored
      When we recover either from a remote source or
      from local log file/snapshot, a module "apply row" function
      is invoked. Up until now this function
      was invoked with a single argument - the row to apply,
      and there were no context which would be passed around.
      
      This worked fine as long as fibers were "all inclusive" --
      i.e. contained all possible context which a function may need.
      
      Now, when networking API and IO handles are split from
      struct fiber, they need to be passed around explicitly,
      in particular, into row apply function.
      
      Prepeare the code base for this.
      a48b9108
  24. Sep 19, 2012
  25. Sep 17, 2012
    • Konstantin Osipov's avatar
      A fix and a test case for Bug#1052018 · 57cc9bcc
      Konstantin Osipov authored
      A fix and a test case for Bug#0152018
      "panic_on_wal_error doens't work for duplicate key errors"
      
      Add a check for panic_if_error after invocation
      of row handler, in addition to the log io cursor
      checks.
      57cc9bcc
  26. Sep 03, 2012
    • Konstantin Osipov's avatar
      Failure recovery: don't confirm rolled back LSNs, other fixes. · 390671fe
      Konstantin Osipov authored
      Failure recovery: don't confirm rolled back LSNs.
      Transactions are rolled back in the order, reverse to the initiation
      order. Thus we first confirm the greatest LSN, then the one
      preceding it, and so on. If we confirm LSNs of these
      transactions, it can be done only out of order.
      
      At better diagnostics to the failure of partial write. Rewrite
      save_snapshot() to produce more diagnostics.
      
      Truncate the log file in case of a partial write:
      simple lseek() to the last good offset is not enough,
      since, if we choose to close the file, we may still have
      garbage at the end of the file.
      390671fe
  27. Aug 31, 2012
  28. Aug 30, 2012
  29. Aug 06, 2012
    • Konstantin Osipov's avatar
      Sync log at close. · 6112456b
      Konstantin Osipov authored
      Sync the WAL at close time.
      Fix a race condition between wal_schedule and ev_schedule
      this revealed.
      
      A cancelled fiber could get scheduled by wal_schedule.
      Do not allow to asynchronously cancel a fiber which
      is a part of WAL scheduler queue.
      Add a test case.
      6112456b
  30. Aug 02, 2012
  31. Jul 26, 2012
  32. Jun 27, 2012
  33. Jun 14, 2012
    • Konstantin Osipov's avatar
      A fix for https://bugs.launchpad.net/tarantool/+bug/790688 · 9d14011f
      Konstantin Osipov authored
      A fix for bug https://bugs.launchpad.net/tarantool/+bug/790688
      "ER_TUPLE_IS_RO should be more rare".
      
      Rewrite the transaction processor to optimistically
      perform changes in memory. In case of an error, transactions
      are rolled back in order, reverse to the order of execution,
      and gradually restore the original state of memory.
      The wal writer therad orchestrates the rollback, by not
      initiating it until all queries which entered the processing queue
      before the error has occurred were not added to the rollback queue.
      
      While in the state of rollback (i.e. collecting all requests
      for rollback) new requests are not accepted into the processing
      queue (see changes in wal_write()).
      
      XXX: This patch makes dirty reads possible when we are in rollback,
      since SELECTs do not enter the wal writer queue and can therefore
      see changes which later will be rolled back. Since this is a
      very rare situation, it's considered acceptable to fix this problem
      in a separate patch (a separate bug will be reported).
      9d14011f
  34. Jun 08, 2012
Loading