Skip to content
Snippets Groups Projects
  1. Sep 09, 2015
  2. Aug 25, 2015
    • Roman Tsisyk's avatar
      Refactor replica.cc code to support multiple instances · cba03880
      Roman Tsisyk authored
       * Implement explicit API to create/start/stop/destroy remote clients
       * Merge re-connect loop && fiber code for JOIN and SUBSCRIBE
       * Re-use connection between JOIN and SUBSCRIBE
       * Split SUBSCRIBE code from pull_from_replica()
       * Improve logging and unify 'warning_said' logic
       * Fix fiber_cancel() on a replica fiber
       * Move the single instance of struct replica to cluster.h
       * Remove dependency on replica.h(cc) from recovery.h(cc)
       * Use enum replica_state for states instead of const char *
      cba03880
  3. Aug 12, 2015
  4. May 26, 2015
  5. Feb 11, 2015
    • Konstantin Osipov's avatar
      hot standby mode: fix broken read only mode during hot standby · eceb9a28
      Konstantin Osipov authored
      Fix a bug when the server would enter read-write mode prematurely
      in hot standby mode, and let the script continue and try to create
      spaces/indexes.
      
      The bug is a regression introduced by the patch which changed cfg.listen
      to a dynamic option.
      
      This is an *incompatible* change: box.cfg{} used to return before binding
      to the primary port, this is no llonger the case.
      
      Always bind to the listen port in box.cfg{} call, not in the background,
      and leave local hot standby mode *before* leaving box.cfg{}.
      
      This avoids tons of tricky race conditions in user scripts when box.cfg{}
      has ended but the server is actually still read only. Except, thanks to
      another bug in box_set_cluster_id(), it wasn't really read-only, because
      box_set_cluster_id() would switch off read-only mode before local hot
      standby has ended (so a superposition of two bugs).
      
      The manifestation of this  was as follows:
      
      Imagine the following script:
          box.cfg{listen = 3301}
          box.schema.space.create('tester')
          box.space.tester:create_index('primary')
      
      The server would start in local hot standby mode. Save a snapshot.
      Fall through to DDL. Then leave local hot standby and turn on
      WAL. The created space will end up not being in the write
      ahead log.
      
      The problem wasn't noticable in most cases, since the server could
      bind to the primary port quite quickly.
      
      Fix the test runner to detect a local hot standby server as started.
      
      Add a workaround for gh-721 until a complete patch is ready.
      eceb9a28
  6. Jan 12, 2015
  7. Dec 26, 2014
    • Konstantin Osipov's avatar
      Rename libcore to libserver. · a8dcee6f
      Konstantin Osipov authored
      libcore is a thick a thick bundle with almost everything.
      Rename it to libserver.
      
      Extract the minimal server core with fibers & exceptions into libcore.
      
      Add a prototype unit test for fibers.
      a8dcee6f
  8. Sep 30, 2014
  9. Sep 19, 2014
  10. Aug 03, 2014
  11. Jul 09, 2014
    • Roman Tsisyk's avatar
      Improve UUID support on all platforms · 717b855c
      Roman Tsisyk authored
      This patch adds a new implementation of UUID library.
      New library generates RFC4122 compatible random-based (version 4)
      UUIDs using data from /dev/(u)random. The uuidgen(2) syscall is also
      supported on BSD system. `struct tt_uuid` redefined from RFC4122.
      Complimentary functions rewrotten to remove dependecy on e2fs libuuid.
      Lua bindings refactored to use new library and support all features.
      
      Closes #317
      717b855c
  12. Jun 26, 2014
    • Roman Tsisyk's avatar
      Review fixes for vclock API · 90172131
      Roman Tsisyk authored
       * remove vclock_merge
       * remove vclock_destroy
       * use `server` instead of `node`
       * use `signature` instead of `lsnsum`
       * refactor vclock_from_string code
      90172131
  13. Jun 25, 2014
  14. Jun 19, 2014
  15. Jun 17, 2014
  16. May 16, 2014
  17. May 15, 2014
  18. May 13, 2014
    • Konstantin Osipov's avatar
      async-master-master review fixes · 5a454e84
      Konstantin Osipov authored
      * Remove a bogus message at the start of FindLibUUID.cmake.
      * Move cluster_add_node to cluster.
      * Extract UUID API into a (potentially) platform-independnent header
        tt_uuid.
      * Add error codes for error messages used in UUID generation,
        triggers and consistency checks.
      * Cleanup.
      5a454e84
  19. Feb 04, 2014
    • Konstantin Osipov's avatar
      Fiber cord. · 5298465a
      Konstantin Osipov authored
      Introduce a structure to represent a thread with an event
      loop in it.
      
      Do not require a working event loop in say() or wal_opt_sync().
      5298465a
  20. Dec 23, 2013
  21. Dec 16, 2013
  22. Jun 20, 2013
  23. Jun 04, 2013
  24. Jun 03, 2013
  25. Feb 05, 2013
  26. Oct 09, 2012
    • Konstantin Osipov's avatar
      fiber_create(), palloc(): throw OOM exception · 6755c708
      Konstantin Osipov authored
      Now that the network layer is exception aware, slowly
      transit with the rest of Tarantool subsistems to
      exception-based error handling model.
      
      Make sure fiber_create() throws an exception
      if there is insufficient memory for fiber or its
      stack. Make the rest of the code aware of the change.
      6755c708
  27. Jul 31, 2012
    • Konstantin Osipov's avatar
      End the copyright madness. · 33269e00
      Konstantin Osipov authored
      End the copyright madness. Tarantool authors maintain a shared
      copyright on the code base. Remove individual copyright (c) from
      specific files and put a single AUTHORS file in the project top.
      33269e00
  28. May 28, 2012
  29. Apr 25, 2012
  30. Apr 05, 2011
    • Roman Tokarev's avatar
      Update files generated by confetti. · 927e9dbf
      Roman Tokarev authored
      Port tarantool to ObjectiveC.
      Implement basic TNTException class and
       TNTFiberException and TNTBoxException subclasses.
      Replace longjmp/setjmp with ObjectiveC exceptions.
      
      mod/box: Restructurize request processing in the following way:
      
      	try
      		begin
      		dispatch
      		commit
      	catch
      		abort
      
      where any error during request processing generate an exception.
      927e9dbf
  31. Feb 27, 2011
    • Konstantin Osipov's avatar
      Implement blueprint 'consistent-header-guards'. · 65df38a9
      Konstantin Osipov authored
      Implement
      https://blueprints.launchpad.net/tarantool/+spec/consistent-header-guards
      
      Audit all header files in tarantool code base for consistent use
      of header guards:
      - consistent naming scheme, following doc/coding-style.txt
      - header guard goes before the copyright
      - each header is self-sufficient.
      - add copyright headers where they were missing.
      
      Remove __packed__, __unused__, __noinline__ and __regparm2__ from util.h,
      since the name __unused__ conflicted with a parameter name in
      third_party/valgrind/valrgind.h, which led to a dependency in inclusion
      order between util.h and this header. The define names were not standard, I
      couldn't come up with some meaningful and standard names, and they were only
      saving some typing, while not providing any extra functionality.
      65df38a9
  32. Feb 15, 2011
  33. Feb 04, 2011
    • Konstantin Osipov's avatar
      Blueprint 'cmake-based-build' initial commit. · 82e966b3
      Konstantin Osipov authored
      Use CMake to:
      - Compile tarantool_silverbox, tarantool_feeder.
      - enable ./test-run testing out-of-source
      - implement Debug/Release configurations
      - add ENABLE_BACKTRACE ENABLE_TRACE and HAVE_BFD switches
      - support auto-generated targets
      82e966b3
  34. Jan 13, 2011
  35. Oct 14, 2010
  36. Sep 08, 2010
Loading