- Aug 22, 2017
-
-
Vladimir Davydov authored
fiber_time() reports real time, which shouldn't be used for calculating timeouts as it is affected by system time changes. Add fiber_clock() based on ev_monotonic_now(), export it to Lua, and use it instead. Needed for #2527
-
Vladimir Davydov authored
We should use ev_monotonic_now()/ev_monotonic_time() instead of ev_now()/ev_time() for calculating timeouts, because the latter are affected by system time changes so that using them for timeouts can lead to unexpected hangs in case system time changes. Needed for #2527
-
Vladimir Davydov authored
ev_now()/ev_time() are affected by system time changes, which makes them impractical for calculating timeouts. Introduce ev_monotonic_now() and ev_monotonic_time() which work exactly as ev_now()/ev_time(), but use monotonic clock instead of realtime. Needed for #2527
-
Roman Tsisyk authored
Follow up #1265
-
Alexandr Lyapunov authored
Follow up #2662
-
Roman Tsisyk authored
Finally fix compatibility with Lua 5.1 command-line options. Closes #1265
-
Roman Tsisyk authored
`tarantool -` now executes stdin instead of trying open "./-" script. A part of #1265
-
Roman Tsisyk authored
-e EXPR - execute string 'EXPR -l NAME - require library 'NAME' A part of #1265
-
Roman Tsisyk authored
`tarantool -i SCRIPT` forces Tarantool to enter into interactive mode after executing SCRIPT or stdin. A part of #1265
-
Roman Tsisyk authored
getopt_long() is available on all supported platforms. Get rid of legacy gopt and use getopt_long(). Incompatible changes: * `tarantool --version --no-such-option` printed "unrecognized option '--no-such-option'", now it displays version. `tarantool --no-such-option --version` still prints an error message. Needed for #1265
-
Georgy Kirichenko authored
- Reference vy_index for every tx value. - Abort transaction on commit if format was changed by DDL. Fixes #2342
-
Georgy Kirichenko authored
Check that Tarantool doesn't crash when space remove while cursor is open. Fixes #2342
-
Georgy Kirichenko authored
Disconnect replications slave if no ACKs have been received for a time of `replication_timeout`. This parameter is accessible via box.cfg{} and applies to all new slave connections. Follow up #2484
-
Georgy Kirichenko authored
Handle mixed replica_id transaction for wal=none mode. Follow replicaset vclock after wal writes. Follow @05eef5fa
-
Georgy Kirichenko authored
On schema version update netbox starts schema reloading but not disconnects from remote server, so report state as connected for this case Fixed #2665
-
Vladimir Davydov authored
-
Georgy Kirichenko authored
On cpipe_destroy all queued messages were flushed to endpoint but queue length counter was not zeroed. This breaks an empty pipe check at cpipe_flush_cb and then crashes tarantool in cases if corresponding endpoint has been already deleteted before this callback invocation. Fixed #2703
-
Roman Tsisyk authored
Replace dynamic function pointers with link-time resolving. Needed for #2335
-
Georgy Kirichenko authored
Don't resend relay vclock if not changed because a relay loop might be woken up with cbus messaging.
-
- Aug 21, 2017
-
-
Vladislav Shpilevoy authored
Now system space formats contain conflicts between space:format, their index parts and actual tuple fields. Such formats can not be used to check tuple fields in SQL. Fix them in order of #2652
-
Vladislav Shpilevoy authored
strlen() can not be called on message pack auth data. Besides, auth data can be not only string, but also array or map. And if array/map is empty, strlen() returns > 0 - it is incorrect. Needed for #2652
-
Roman Tsisyk authored
- Use malloc() as a fallback for lsregion for large size - Set Vinyl slab_size to 16Mb and don't use vinyl_max_tuple_size for calculation - Allow dynamic configuration of vinyl_max_tuple_size A part of #2342
-
Vladimir Davydov authored
On 64-bit iconv called via ffi returns a uint64_t cdata object, which equals to -1 in case of error so error handling works fine. On 32-bit it returns a number equal to (size_t)-1, which is equal to 4294967295 and not equal to -1 when compared to in Lua. As a result Lua binding to iconv hangs if the source string is incorrect. Fix this by comparing the result of iconv to ffi.cast('size_t', -1) instead of -1.
-
Vladislav Shpilevoy authored
Closes #2466
-
Vladislav Shpilevoy authored
Follow up #2334
-
Georgy Kirichenko authored
An on_replace trigger on replica can issue local changes using its own replica_id. Check replica_id for every row during writing to WAL. Fixes #2682
-
- Aug 19, 2017
-
-
Alexandr Lyapunov authored
-
- Aug 18, 2017
-
-
Vladimir Davydov authored
Fix minor issues found by coverity scan: - Do not try to estimate slice size if the run is empty to avoid div/0. - Fix assert() that is supposed to check slice->first_page_no, but checks last_page_no instead. - If the slice doesn't intersect with the run (i.e. slice->end is less than or equal to run->begin), leave its stats zeroed out.
-
Roman Tsisyk authored
Closes #2698
-
Alexandr Lyapunov authored
The bug happens when some TX deletes a statement (writes it to its own write set) and then reads a range of tuples containing that deleted statement. DELETE must not come to select result (in this and only transaction before it is committed) and just are skipped by read iterator. After such a skipping and getting next true (non-DELETE) statement the iterator considers that there is no data between the previous statement and the current, and add them to the cache as a chain. This is wrong because the data could be hidden by DELETE statement. Track such jumps over TXW DELETE statements in read iterator and do not add statements as a chain in this case.
-
Vladimir Davydov authored
We use a binary tree for tracking reads (read_set). The tree is ordered by (index, statement, tx). Insertion of a partial statement into the tree may result in breaking comparison transitivity, which is mandated by the tree implementation. However, for range requests we insert the search key into the read set, which may be partial. This may result in a crash in the read_set. Tracking the search key doesn't make much sense anyway: it doesn't bring us any closer to range request tracking, only obscures the semantics of select. So let's track only statements actually returned by the iterator plus gaps found by point requests. Closes #2675
-
Roman Tsisyk authored
Fix bad merge of 945a97db and 7a5835f4
-
Konstantin Osipov authored
-
Vladimir Davydov authored
A dump task can be scheduled or completed after we saved stats. Make sure this doesn't happen. Closes #2696
-
Roman Tsisyk authored
-
Georgy Kirichenko authored
Do not use thumb specifier for asm code, use unified syntax directive instead.
-
Vladimir Davydov authored
Revoke permissions granted by the test.
-
- Aug 17, 2017
-
-
Vladislav Shpilevoy authored
Needed for #946
-
Georgy Kirichenko authored
Relay reader fiber is jonable now and should be joined by relay main fiber. See #2284
-