- Jul 06, 2011
-
-
Dmitry Simonenko authored
client/tnt_bench: benchmark client test/box/connector.c: client C library test
-
- Jul 05, 2011
-
-
Konstantin Osipov authored
-
- Jul 04, 2011
-
-
Konstantin Osipov authored
Remove compilation warnings about unused variables. Make sure Release and RelWithDebugInfo do not include -Werror - we don't know compiler version at the client and shouldn't plant time bombs for him/her.
-
- Jul 01, 2011
-
-
Konstantin Osipov authored
Reorder and simplify calls to box_enter_master_or_replica_mode() in mod_relaod_config(). Move recovery_stop_remote() to log_io_remote.c, where it belongs. Remove now unnecessary recovery_start_remote(), use recovery_follow_remote() (same thing) instead.
-
Konstantin Osipov authored
mode Reorganize the code responsible for entering/leaving master mode. Remove remote_recovery_restart, add remote_recovery_{stop/stop}, make sure we know what to do - start or stop recovery. Move 'remote_recovery' to struct recovery_state. Remove an extra parameter to recover_follow_remote, it's always the same currently.
-
Konstantin Osipov authored
-
- Jun 30, 2011
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Fix a coding error: supplying 0 watermark to kh_init(fiber_registry) lead to almost constant kh_resize (on every kh_put after a kh_del).
-
- Jun 28, 2011
-
-
Konstantin Osipov authored
-
Yuriy Vostrikov authored
-
Konstantin Osipov authored
Fix the memory leak which would occur when allocating memory for the "status" string, output by 'show info'. The allocation was done on each RELOAD CONFIGURATION, and old memory was never freed. Fix: use static memory instead of palloc.
-
Konstantin Shulgin authored
PEP8 coding-style for Python code was added. Python code ndentation was changed to PEP8 format.
-
- Jun 27, 2011
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Make sure we do not have pending updates prior to turning on remote recovery. Get rid of the boolean variable 'box_updates_allowed' and pass a function pointer to iproto_interact instead (one less 'if' on the way of the most common execution flow).
-
- Jun 24, 2011
-
-
Konstantin Osipov authored
Remove diagnostics.[hm] since we should use Objective C exceptions going forward. A few more cleanups related to v03/v04 snapshot/wal format.
-
Konstantin Osipov authored
Basic cleanup that removew old/unused code.
-
Konstantin Osipov authored
Send error messages to the client. Before this patch, Tarantool would only send an error code to the client, but record all the details in its error log. This patch extends the client/server protocol and adds error text to it. This text can now contain not only a staple message that corresponds to the error, but problem-related additional information, such as namespace id, field number, etc. All errors still can be logged in the error log, but not all of them need to be. For errors, which are only sent to the client, this patch uses ClientError exception class. Errors which also need to be logged in the error log must use LoggedError exception class. To choose between the two, the following rule of thumb is applied: - client application errors, which, generally, can be non-errors at all, such as access to a non-existing namespace, index or field, or access to a locked tuple are not logged - execution and protocol errors, such as an error writing to disk, an message that doesn't follow the protocol format, is logged. For the most common error, ER_TUPLE_IS_RO, we do not use string template to reduce CPU cycles necessary to produce this error (on my machine one can raise ~200 000 exceptions per second, which is not too much). An addition to the above, this patch renames error codes, to make them shorter (ERR_CODE_* -> ER_*) and rewrites the iproto.m client connection loop to make it a trifle more efficient. This patch also fixes a couple of bugs: - in exception.m, [tnt_Exception alloc] when we reused the old exception class, we did not reset its 'isa' pointer, which could lead to a crash when a message with a different signature was sent to it. - in box_dispatch (renamed from box_dispach), when logging for slow commands was done, txn->op could already be overwritten by txn_commit()/txn_abort(). A comment on the naming scheme: prefixing every Tarantool piece of method/data structure with tnt_ would lead to very bloated code. So in this patch I decided to reduce the use this prefix to the client library code and some very generic names only.
-
Konstantin Osipov authored
When stopping the server under gdb, send SIGTERM to the server, not to the terminal in which gdb is started. This gives you the option to actually examine gdb output before the test has ended. When the server crashes, and we're reading from it in a client connection, detect EOF and abort reading (the old code was buggy and would busyloop indefinitely in case of a crash). Remove an unnecessary fork() in start().
-
Konstantin Osipov authored
When ctrl-c is pressed on the terminal, a signal (SIGINT) is sent to all members of the foreground process group. Since both wal_writer and logger processes' default action on SIGINT is to terminate, they could terminate before parent. This led to rather nasty results: in the circumstances, when the parent somehow ignored SIGINT (e.g. under GDB), or handled it after its children (a race condition), children would disappear before parent, then parent would detect that wal_writer is gone, try to panic/write to the log, which is also gone, and on top of SIGINT get a SIGPIPE. Move spawned children to their own process groups to make sure they don't belong to the main process' process group, and don't receive signals from the controlling tty. It's okay in the interactive mode, since these children are going to die anyway when the parent dies, after getting a SIGPIPE.
-
- Jun 23, 2011
-
-
Konstantin Osipov authored
Do not try to start another server on a port if it's already in use. This can lead to very confusing results when running tests that start and stop the server in parallel.
-
- Jun 21, 2011
-
-
Konstantin Osipov authored
Remove an extra space in '-e ' option to term, not all terminals (rxvt, for example) can handle the extra space in an option name.
-
Konstantin Osipov authored
Update *.cfg files to newer confetti and comments in the templates.
-
Konstantin Osipov authored
Rename exceptions.[hm] to exception.[hm]. Add copyright information.
-
- Jun 16, 2011
-
-
Konstantin Osipov authored
There were extra quotes in errcode.c, i.e. quotes were part of the error message. Remove them.
-
Konstantin Osipov authored
-
- Jun 15, 2011
-
-
Konstantin Osipov authored
Sweep out the first set of coding bugs in the test suite: - set slab_alloc_arena to 0.05 in all box_replication configurations, since otherwise this suite tries to allocate too much memory and hangs under a VM. - update some texts that make it into the log (spelling) - add logging to all configurations - simplify wait_sync and rename it to wait_lsn - there was a bug in wait_sync that time.sleep() was not called in the body of the loop due to \t, and the loop was a busy-wait one.
-
Konstantin Osipov authored
If fiber_connect() is aborted with tnt_FiberCancelException, an assertion in fiber_close() could fail that fiber->io is active (it was not active). The fix is to check in fiber_close() whether or not fiber->io is active before closing it.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Conflicts: mod/box/box.m
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Code review: reformat comments. Add comments to fiber.h. Use tnt_FiberCancelException solely to cancel fibers. Fix alignment of fiber_server. Use newer confetti. Reverse the try/finally wrapping of some fiber functions as unnecessary.
-
- Jun 10, 2011
-
-
Konstantin Osipov authored
-
- Jun 09, 2011
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Tweak my previous patch for proctitle to be a bit more robust to the path length.
-
- Jun 08, 2011
-
-
Konstantin Osipov authored
Start pruning Tarantool wiki on github, and add documentation on Tarantool process title to the user guide, since it is present on the wiki but not in the user guide. While at it, make the process title more lookalike on Linux and FreeBSD, and rename some of the (what looks to me as) unclear process titles. The documentation reflects the new naming scheme already.
-
- Jun 07, 2011
-
-
Konstantin Osipov authored
Move Ruby connector to its new destination (connector/).
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
- Jun 06, 2011
-
-
Konstantin Osipov authored
Extend language-reference.xml. Minor edits of salloc.m.
-