- Jun 16, 2015
-
-
Konstantin Osipov authored
Introduce mpstream API to lua-msgpack encoder, which allows it to encode msgpack into any memory source. The streaming API should make it possible to encode even directly to network. Patch region allocator to support the new API. Patch iobuf/obuf output buffer of iproto to support the new API.
-
- Jun 04, 2015
-
-
Konstantin Osipov authored
- encapsulate iproto configuration into iproto module API - iobuf: change the module to be thread-safe. - iobuf: rename obuf_ensure() to obuf_reserve() as is conventional with the reset of API. - iobuf: change ibuf to use slab cache directly, bypassing the region allocator - iobuf: consistently use int for obuf/obuf_svp iov pos and obuf_iovcnt - iobuf: remove iobuf_flush - iobuf: add iobuf pin/unpin API in preparation for iproto-in-a-thread - iobuf: don't trust iov_len as an end marker in obuf_reset() There is a chance (although currently it's never used) that one of the vectors is allocated, but not used, and the next vector of a larger size is used. In that case reset loop may stop prematurely.
-
- Jun 03, 2015
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
- Jun 02, 2015
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Implement box.once(). Right now there is a race in box.once(), this is somethign we'll need to fix when we have master election on simultaneous bootstrap. The patch merely "establishes" the syntax which is going to work most of the time.
-
Konstantin Osipov authored
When handling join, an error from box_on_cluster_join() was ignored and not sent to the client, so the client believed that the JOIN was handled successfully and proceeded with SUBSCRIBE. Before sending OK to join, execute box_on_cluster_join(), if it fails, the client sees an error and stops. Make ER_REPLICA_MAX a logged error. No test case since the test requires a fail-stop test of the replica, which is clumsy in our framework.
-
Konstantin Osipov authored
Don't log exceptions of dead joinable fibers - it will be logged by the caller, so avoid double logging. recover_remaining_wals() is now more like an iterator, vclockset_match() is only called when there is no current WAL. Add a test case for gaps in LSNs.
-
- Jun 01, 2015
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
- add forgotten latch.h, fix latch.h header guards - make sure the stuff in thread is thread-safe and exception-safe - remove snapshot_pid and update the docs. - remove empty lines/trailing spaces - move xlog_open()/xlog_close() to the snapshot thread - use cord_costart() to have fiber infrastructure in the checkpoint thread, rather than run checkpoint in sched fiber - remove #include <fiber.h> from memtx_engine.h, it's not needed there - remove errNo() method from base class Exception, anything with an error no inherits from SystemError. Moreover, now that we have a rich exception infrastructure at our disposal, we should switch to using it in engine API, so in future returning error no will be replaced with exceptions.
-
Konstantin Osipov authored
Remove the code which existed at times when we weren't running everything inside an event loop, so required alternative ways of signal handling in and out of an event loop. Reset signal handlers when handling fatal signals, to avoid an infinite loop.
-
Roman Tsisyk authored
-
Roman Tsisyk authored
-
- May 29, 2015
-
-
Konstantin Osipov authored
In panic_on_wal_error=true mode, we only skip ClientError errors, but not SystemError errors. An error to allocate a tuple is a recoverable error, so use ClientError for it. This way, at recovery, tuples which can't be allocated are skipped.
-
Konstantin Osipov authored
-
Sulverus authored
io replaced with fio
-
Roman Tsisyk authored
-
Sulverus authored
-
Konstantin Osipov authored
-
- May 28, 2015
-
-
Konstantin Osipov authored
Add a directory watcher, in addition to the file watcher. Chagne wal_dir_rescan_delay default value to 2, since now it's merely a backup.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Sulverus authored
-
Sulverus authored
-
Konstantin Osipov authored
When a new log file is created, replication relay may notice and try to open it before it has a valid header. In this case the relase is lead into believing that the log file is corrupt. When opening a new xlog file, first create the file with .inrpogress suffix, then write the header, thus get a good file, and only then rename it to a name without a suffix, so that it's noticeable by the relay. This prevents sporadic failures of replication with message "failed to read log file header". The problem was spotted in Avito after a recent upgrade.
-
Konstantin Osipov authored
Conflicts: test/box/sql.result test/box/sql.test.lua
-
Konstantin Osipov authored
Fix a crash in rollbackStatement() when rolling back a statement trying to access a non-exissting space. space_cache_find() is called before txn_begin_stmt(), thus there is no statement object, nothing to roll back.
-
- May 27, 2015
-
-
Sulverus authored
-
Sulverus authored
-
Konstantin Osipov authored
-
Sulverus authored
-
Roman Tsisyk authored
-
Roman Tsisyk authored
-
Roman Tsisyk authored
Remove iditioc tests from the suite.
-