- 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.
-
- Jun 03, 2011
-
-
Konstantin Osipov authored
Document memcached options. Tweak doc/sql.txt.
-
Konstantin Osipov authored
Add sql.txt, describing the supported SQL grammar, to which the user guide refers.
-
- Jun 02, 2011
-
-
Konstantin Osipov authored
Add more content to the user guide (language reference, memcached support).
-
Roman Tokarev authored
-
- Jun 01, 2011
-
-
Konstantin Osipov authored
-
- May 31, 2011
-
-
Konstantin Osipov authored
Learn how to use olinking correctly. Add errcode.xml - the list of all error codes. While at it, add markers to errcode.h signalling that whenever it is changed, errcode.xml also needs a change. Get rid of ERR_CODE_UNKNOWN_ERROR - it has no raison d'être. Tweak the docbook to html XSL rules, in particular table of contents generation.
-
- May 27, 2011
-
-
Konstantin Osipov authored
Explain how to configure a namespace. Tweak some error messages on the way.
-
- May 26, 2011
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Adjust signature of tbuf_ltrim, add comments, replace a check with an assert.
-
Konstantin Osipov authored
-
Konstantin Shulgin authored
tbuf: tbuf_ltrim function was added. admin: admin_dispatch routine was fixed. fiber read buff managment was changed from peek to trim.
-
- May 25, 2011
-
-
Roman Tokarev authored
-