jepsen.tarantool
tarantool-c
Our great sponsors
jepsen.tarantool | tarantool-c | |
---|---|---|
4 | 1 | |
7 | 26 | |
- | - | |
0.0 | 4.2 | |
11 months ago | about 1 month ago | |
Clojure | C | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jepsen.tarantool
- Ask HN: What are some unpopular technologies you wish people knew more about?
-
Databases = Frameworks for Distributed Systems
Tarantool is an application server for distributed systems written in Lua. Lua applications launched in Tarantool have API access to the following components:
-
Ten-year experience in DBMS testing
In 2020, we added support for synchronous replication and MVCC. We had to test this functionality, so we decided to write some tests powered by Jepsen framework. We check consistency by analyzing the transaction history. But the story about testing with Jepsen is big enough for a separate article, so we'll talk about it next time.
tarantool-c
-
Ten-year experience in DBMS testing
In CMake build files, we use compiler flags that enable extra checks at build time, and we run "make clean" when there are no raw warnings. Besides static analysis in the compilers, we use Coverity static analysis. We used PVS-Studio once, and it detected several non-critical errors in Tarantool itself and in tarantool-c connector. Sometimes, we used cppcheck, not that it found many bugs.
What are some alternatives?
luatest - Tarantool test framework written in Lua
luaunit - LuaUnit is a popular unit-testing framework for Lua, with an interface typical of xUnit libraries (Python unittest, Junit, NUnit, ...). It supports several output formats (Text, TAP, JUnit, ...) to be used directly or work with Continuous Integration platforms (Jenkins, Maven, ...).
YCSB - Yahoo! Cloud Serving Benchmark
queue - Create task queues, add and take jobs, monitor failed tasks
small - Specialized memory allocators
mejedi-tcl2lua
msgpuck - A simple and efficient MsgPack binary serialization library in a self-contained header file
oss-fuzz - OSS-Fuzz - continuous fuzzing for open source software.
cbench - Tarantool C Bench - a simple tool to benchmark Tarantool internal API