- Jul 04, 2012
-
-
Konstantin Osipov authored
Use -Wno-bitwise-op-parentheses only if the compiler has them.
-
- Jul 03, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Do not use bundled libobjc on Darwin. Refactor cmake scritps: introduce os.cmake, arch.cmake, compiler.cmake, libobjc.cmake, luajit.cmake. Remove the hack with building libobjc/luajit as a dependency on cfg. Do not specify -ggdb when compiling with clang. Add -fno-objc-legacy-dispatch and -fobjc-nonfragile-abi when compiling with CLang on Linux. Remove -fgnu-runtime when compiling with gcc on Mac. Many minor cleanups.
-
- Jul 02, 2012
-
-
Konstantin Osipov authored
-
- Jun 30, 2012
-
-
Konstantin Osipov authored
libobjc2 has a notion of "small objects". The type of a small object is detected by checking its address: it should not be word-aligned. When performing a custom memory allocation for Request, make sure it's not a small object, by aligning it around (void *) pointer (word) boundary. object_dispose in libobjc2 runtime doesn't check whether the passed in object is nil, so check for nil outside.
-
Konstantin Osipov authored
Add a makefile to libobjc.
-
- Jun 29, 2012
-
-
Konstantin Osipov authored
Fix a typo in the code which would move the code to the Objective C 2.0 runtime. Correctly check for the size of area necessary to store the object (vs. allocated area) to make a decision whether or not we need to re-allocate.
-
Dmitry E. Oboukhov authored
-
Konstantin Osipov authored
In the new Objective C 2.0 runtime, class Object was trimmed and no longer contains + alloc, - init, - free and - subclassResponsibility, which we use. Implement our own base class and use it instead of the old Object. This should fix compilation with gcc 4.7 everywhere and clang on Darwin. The current code can still be built with gcc 4.6.
-
Dmitry Simonenko authored
-
- Jun 27, 2012
-
-
Pavel Cherenkov authored
-
- Jun 26, 2012
-
-
Pavel Cherenkov authored
macosx2: merging in (manually) previously unmerged changes (from macosx-port1), non-working tests: box/lua.test, box_big/lua.test connector_c/xlog_rpl.test
-
Konstantin Osipov authored
A fix for Bug#1017905 "replication failure may leave garbage in the read buffer". No test case since this is a runtime error which is hard to emulate. Clear the read buffer whenever closing a file desriptor, to remove garbage data from the closed connection.
-
- Jun 22, 2012
-
-
Konstantin Osipov authored
Tarantool/Box crashed during shutdown if a non running LUA fiber was created. Fiber garbage collection in Lua, initiated during shutdown, was performed after the fiber subsystem was destroyed. Additionally, fix a wrongly formulated assert which checks that the fiber which is being cancelled has not been cancelled already.
-
- Jun 21, 2012
-
-
Konstantin Osipov authored
-
- Jun 15, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
- Jun 14, 2012
-
-
https://bugs.launchpad.net/tarantool/+bug/790688Konstantin Osipov authored
A fix for bug https://bugs.launchpad.net/tarantool/+bug/790688 "ER_TUPLE_IS_RO should be more rare". Rewrite the transaction processor to optimistically perform changes in memory. In case of an error, transactions are rolled back in order, reverse to the order of execution, and gradually restore the original state of memory. The wal writer therad orchestrates the rollback, by not initiating it until all queries which entered the processing queue before the error has occurred were not added to the rollback queue. While in the state of rollback (i.e. collecting all requests for rollback) new requests are not accepted into the processing queue (see changes in wal_write()). XXX: This patch makes dirty reads possible when we are in rollback, since SELECTs do not enter the wal writer queue and can therefore see changes which later will be rolled back. Since this is a very rare situation, it's considered acceptable to fix this problem in a separate patch (a separate bug will be reported).
-
- Jun 08, 2012
-
-
Konstantin Osipov authored
The field made optional by the previous refactoring patch were used for monitoring. Put them back.
-
Konstantin Osipov authored
Extract struct recovery_state members which are used only when replication is on to struct remote.
-
- Jun 07, 2012
-
-
Konstantin Osipov authored
No actual code changes, simply split a big file in two.
-
Konstantin Osipov authored
No code changes.
-
- Jun 06, 2012
-
-
Konstantin Osipov authored
Do not use buffered file I/O which doesn't give a precise account of failure, when it happens. Instead, batch writes to WAL or SNAP files and write batches using writev(). If writev() fails, we can accurately evaluate which requests (those that belong to the batch) were not written to disk. In case of a partial write, rollback the failed requests, and seek back to the end of the last fully written request. To support writev() and IO with file descriptors, implement nio library, which provides a set of EINTR- and error log- aware wrappers around syscalls.
-
- Jun 04, 2012
-
-
Konstantin Osipov authored
Extract the WAL rotation into a separate function.
-
- Jun 01, 2012
-
-
pcherenkov authored
-
- May 30, 2012
-
-
Konstantin Shulgin authored
-
- May 29, 2012
-
-
Konstantin Osipov authored
Merge common code in wal_write() and snapshot_write_row() by introducing a structure to represent a single snapshot or WAL row to be written.
-
Konstantin Osipov authored
No code changes.
-
Konstantin Shulgin authored
iproto packages validation routine was added.
-
- May 28, 2012
-
-
Konstantin Osipov authored
Continue code cleanup in log_io.m, remove more dead code.
-
pcherenkov authored
-
- May 25, 2012
-
-
Konstantin Osipov authored
Remove log_io_iter from snapshot IO. Do not use coroutines and extra buffers. This opens the way to more agressive buffering of snapshot IO, as compared to no buffering of WAL IO.
-
Konstantin Osipov authored
Cleanup work with eof/row markers. Remove unnecessary members of log_io_class.
-
Konstantin Osipov authored
Fix a regression introduced by the yesterday's cleanup: recover_wal() can return 0, -1, or 1: 0 - ok, eof read -1 - error reading wal 1 - can't read eof marker from wal. recover_remaining_wals() looks at this, and when doing final recovery deletes wal which don't have eof marker (return value from recover_wal() == 1). Yesterday I mistakenly merged 0 and 1 return values into one. Revert this part of the yesterday's patch. On the same token, log_io_cursor_next() can't throw an exception, ever. Take this into account and simplify code. recover_remaining_wals() continues to stay a mess.
-
Pavel Cherenkov authored
-
pcherenkov authored
-
Pavel Cherenkov authored
-
- May 24, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
- remove unused parameters - add SystemError exception (derived form net-split tree) - improve error printouts.
-