Skip to content
Snippets Groups Projects
user avatar
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.
e50e8fc5
History
TARANTOOL/SILVERBOX

Tarantool is a framework for in-memory key/value storage and
Silverbox is a yet another in-memory key-value database.

Key features of the pair include:
 * log streaming replication
 * hot standby
 * a simple binary protocol, as well as emulation of memcached
   protocol
 * extensibility and speed

Caveats:
 * currently supported platforms are only Linux/x86 and
   FreeBSD/x86
 * gcc is the only supported compiler.

COMPILATION AND INSTALL

Tarantool uses CMake for configuration management.
3 standard CMake build types are supported:
 * Debug -- used by project maintainers
 * RelWithDebugInfo -- the most common release configuration,
 also provides debugging capabilities
 * Release -- use only if the highest performance is required

Please follow these steps to compile Tarantool:

tarantool $ cmake .
tarantool $ make

'make' will create tarantool_silverbox executable in directory
mod/silverbox.

There is no 'make install' goal, but no installation
is required either.
Tarantool regression testing framework (test/test-run.py) is the
simplest way to setup and start the server, but it requires a few
additional Python modules:
 * daemon
 * pyyaml
 * pexpect.

Once all pre-requisites are installed, try:

tarantool $ cd test && ./test-run.py --start-and-exit

This will create a 'var' subdirectory in directory 'test',
populate it with necessary files used by the server, and
start the server. To connect, you could use
a simplistic command-line client:

tarantool $ ./test/tarantool

Alternatively, if a customized server configuration is required,
you could follow these steps:

tarantool $ emacs cfg/tarantool_silverbox_cfg.cfg # edit the configuration
# Initialize the storage directory, path to this directory
# is specified in the configuration file:
tarantool $ mod/silverbox/tarantool_silverbox --config cfg/tarantool_silverbox_cfg.cfg --init-storage
#
# run
tarantool $ mod/silverbox/tarantool_silverbox --config cfg/tarantool_silverbox_cfg.cfg

Please report bugs at http://bugs.launchpad.net/tarantool.
We also warmly welcome your feedback in the discussion mailing
list, tarantool-developers@lists.launchpad.net, however, please be
warned: Launchpad silently deletes posts from non-subscribed
members, thus please be sure to have subscribed to the list prior
to posting.

Thank you for your interest in Tarantool!