- Mar 16, 2011
-
-
Konstantin Osipov authored
Define what field data is.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Revert the yesterday's patch that installs SIGCHLD handler to early collect <defunct> server processes that received SIGSEGV/otherwise somehow terminated abnormally. The invinite loop in Tarantool_connection::recvall() was caused by misuse of the Python socket API, not by the fact that the sending side was still "alive". The correct fix simply checks for EOF received from the other end and raises an exception if we expected some data and got a EOF.
-
- Mar 15, 2011
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Iron out thet sigchld handler.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
If Tarantool server segfaults when a test is running, it used to hand in <defunct> state, since there was no wait() call in the parent to collect child process state. All file descriptors, as well as open sockets, of a <defunct> process were left open. This lead to the test runner cycling in an infinite loop in recv() from the server, and the whole test suite to, ultimately, hanging in a busy wait. This looks more like a bug in python pexpect, but install a SIGCHLD handler to work it around, and collect child data immediately as soon as child terminates.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
- Mar 14, 2011
-
-
Konstantin Osipov authored
A fix and a test case for https://bugs.launchpad.net/tarantool/+bug/730593 "Bad data if incomplete tuple" A partial tuple could get accepted by INSERT command, and later on show up in all search results on the index for which this partial tuple was missing keys. When inserting into a TREE index Tarantool/Box did not validate that the tuple which is being inserted actually has fields used in the index, and would insert instead an "ASTERISK" (wildcard) value into the index. Additionally, when such validation was added, it turned out that box_raise leaves a corrupt tuple in place since txn_abort() doesn't remove the unless it's marked as "GHOST", and tuples were marked as "GHOST" after index insert, not before.
-
Yuriy Vostrikov authored
-
Konstantin Osipov authored
-
Yuriy Vostrikov authored
Conflicts: CMakeLists.txt core/coro.c core/fiber.c core/palloc.c include/fiber.h
-
Konstantin Osipov authored
-
Konstantin Osipov authored
A fix and a test case for https://bugs.launchpad.net/tarantool/+bug/729758 "SELECT fails with a disjunct and small LIMIT" and https://bugs.launchpad.net/tarantool/+bug/729879 "Zero limit is treated the same as no limit" These were simple coding bugs in SELECT main loop.
-
- Mar 09, 2011
-
-
Roman Tokarev authored
-
Yuriy Vostrikov authored
-
- Mar 07, 2011
-
-
Konstantin Osipov authored
Conflicts: test/lib/test_suite.py
-
Konstantin Osipov authored
Allow disjunctions in SELECT WHERE clause and LIMIT clause in SELECT, to be able to cover the problem reported in Bug#729758. Fix a bug with prepare_gdb arguments (remove an extra space in -e option). Add a simple test for Bug#729758. The following bugs were reported in the process: Bug#729789 "Zero limit is treated the same as no limit" Bug#730593 "Bad data if incomplete tuple" Bug#730613 "SELECT with a disjunction on multiple keys returns matching tuples twice"
-
- Mar 04, 2011
-
-
Konstantin Osipov authored
We don't have to reset struct sigaction before every call to sigaction(). Use memset() to zero-initialize sigaction, since there can be platform-specific memebers.
-
Konstantin Osipov authored
Conflicts: core/tarantool.c
-
Konstantin Osipov authored
A fix and a test casee for http://bugs.launchpad.net/bugs/727174 "tarantool_silverbox crashes when saving snapshot on SIGUSR1" Initialize the event loop before registering a child wait callback. Make we don't use fiber infrastructure in the signal handler, which has its own stack.
-
- Mar 02, 2011
-
-
Konstantin Osipov authored
@todo: Deal with this: /build/buildd/binutils-2.20.1/builddir-single/bfd/../../bfd/plugin.c:127: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libltbox.a(tarantool.c.o): In function `main': /home/kostja/work/tarantool/core/tarantool.c:453: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
-
- Mar 01, 2011
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
"entering event loop" is printed into tarantool log before we have successfully bound the TCP ports. Expect for a correct message when trying to find out whether or not the server has successfully started.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Roman Tokarev authored
- Replace strndrupa with alloca + memcpy. - In create_pid function do rewind before read from pid file.
-
- Feb 28, 2011
-
-
Konstantin Osipov authored
A fix and a test case for Bug#726778 "Gopt broke wal_dir and snap_dir: they are no longer relative to work_dir". Ensure that snap_dir and xlog_dir can be relative to work_dir. Ensure that chdir happens before we handle --init-storage. Do not mix declarations and definitions for recovery_state. Add a test case to args.test.
-
Konstantin Osipov authored
Implement a number of simple fixes to compile on FreeBSD: - work correctly with a GCC version that doesn't have -Wno-unused-result - compile even if not GNU libc - tee doesn't have '--append' option on FreeBSD, use the short version ('-a'). - fix a typo in log_io.c, ENOENT, not ENONET.
-
- 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.
-
Konstantin Osipov authored
Rename 'silverbox' to 'box', across the board. Delete the remnants of the old build system (scripts/rules.mk and scripts/config-def.mk). Do not touch client/perl for now, since it's maintained elsewhere.
-
- Feb 25, 2011
-
-
Konstantin Osipov authored
Return a non-zero exit status if there are test failures, even if run with --force. This necessary to correctly identify a test failure in buildbot run.
-
Konstantin Osipov authored
-
- Feb 24, 2011
-
-
Konstantin Osipov authored
Make 'make test' goal operational on hosts with old python or python somewhere else than /usr/bin.
-
Konstantin Osipov authored
Correct a regexp pattern in test suppression filter to work in a more modern version of python. In the new python \S matches '"', and the test output is different compared to the recorded one.
-
Konstantin Osipov authored
Adjust regexp pattern in one of the tests that started to fail after an increment in version number.
-
Konstantin Osipov authored
Start the next development milestone.
-