- Sep 09, 2015
-
-
Roman Tsisyk authored
Prepare for multi-master.
-
- Aug 25, 2015
-
-
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 *
-
- Aug 12, 2015
-
-
Konstantin Osipov authored
-
- May 26, 2015
-
-
Konstantin Osipov authored
Change the logic of recovery_finalize() to open the next xlog if the last xlog had zero rows. Add a test case. Remove recovery->finalize, use recovery->writer instead.
-
- Feb 11, 2015
-
-
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.
-
- Jan 12, 2015
-
-
Konstantin Osipov authored
Set xlog::vclock for write mode logs as well. Move the check for matching signature into xlog_read_meta(). Convert xlog_open_stream() to use exceptions.
-
- Dec 26, 2014
-
-
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.
-
- Sep 30, 2014
-
-
Roman Tsisyk authored
-
Roman Tsisyk authored
This patch also changes box.info.server output for this case.
-
- Sep 19, 2014
-
-
Roman Tsisyk authored
-
- Aug 03, 2014
-
-
Konstantin Osipov authored
Avoid a name clash between variable name and struct name.
-
- Jul 09, 2014
-
-
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
-
- Jun 26, 2014
-
-
Roman Tsisyk authored
* remove vclock_merge * remove vclock_destroy * use `server` instead of `node` * use `signature` instead of `lsnsum` * refactor vclock_from_string code
-
- Jun 25, 2014
-
-
Roman Tsisyk authored
-
- Jun 19, 2014
-
-
Konstantin Osipov authored
node -> server lsnmap -> vector clock setlsn -> vclock
-
- Jun 17, 2014
-
-
Konstantin Osipov authored
Make an explicit call to vclock for adding a new server. Word police: use server rather than "node".
-
- May 16, 2014
-
-
Roman Tsisyk authored
-
- May 15, 2014
-
-
Konstantin Osipov authored
-
- May 13, 2014
-
-
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.
-
- Feb 04, 2014
-
-
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().
-
- Dec 23, 2013
-
-
Konstantin Osipov authored
-
- Dec 16, 2013
-
-
Konstantin Osipov authored
Move towards a uniform include scheme where header files are stored along with the sources files, in the same directory. We had to begin to use this scheme thanks to use of subprojects, and a mix of two approaches turns the code base into a mess.
-
- Jun 20, 2013
-
-
Konstantin Osipov authored
Rename tarantool_pthread.h to tt_pthread.h This is a pre-requisite for addition of Perl stored procedures.
-
- Jun 04, 2013
-
-
Roman Tsisyk authored
-
- Jun 03, 2013
-
-
Roman Tsisyk authored
-
- Feb 05, 2013
-
-
Roman Tsisyk authored
-
- Oct 09, 2012
-
-
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.
-
- Jul 31, 2012
-
-
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.
-
- May 28, 2012
-
-
pcherenkov authored
-
- Apr 25, 2012
-
-
Konstantin Osipov authored
-
- Apr 05, 2011
-
-
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.
-
- Feb 27, 2011
-
-
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.
-
- Feb 15, 2011
-
-
Konstantin Osipov authored
Make a system specific check for MAP_ANONYMOUS part of configuration process. Follow up on a broken ENABLE_BACKTRACE switch and fix a few cases which didn't compile with it.
-
- Feb 04, 2011
-
-
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
-
- Jan 13, 2011
-
-
Yuriy Vostrikov authored
-
- Oct 14, 2010
-
-
Yuriy Vostrikov authored
-
- Sep 08, 2010
-
-
Yuriy Vostrikov authored
-