User:Totktonada - tsafin/tarantool GitHub Wiki
I'm Alexander Turenko. Tarantool developer.
Nice ideas
- Built-in help (issue TBD).
- Swiss army knife to overview CI results (issue).
Tracking
Listed things, which should not stall forever in my opinion. The order is random.
Appserver and ecosystem
- Popen track is stalled.
- net.box connection from older to newer tarantool may fail.
- JDBC track is stalled.
- Tuples marshalling without reencoding track is stalled.
- Vladimir Davydov is working on msgpack object implementation, which should resolve the problem.
- No good Lua memory introspection tool.
- Lua output track looks stalled.
- fstack in avro-schema can be reverted in favor of the new hack provided by Nick Zavaritsky (perf. gain is possible).
- Stalled PRs / issues in packpack.
- No agreement re Lua/C function comments style (read from words 'The function has the Lua API').
- No built-in URL encoding support.
SQL
- Whether out extended SQL result set metainfo fit good with JDBC?
- No general description of SQL type system (AFAIK).
- No SQL type arithmetic AFAIK (an expression type is not result of a type arithmetic, but deduced from a value).
- There were thoughts around treating numeric literals as decimals, but there are no work on this. I guess presence of a more wide numeric type may affect type arithmetic at whole: say, how overflows are handled.
- No support of compound statements in SQL.
Infrastructure
- No tarantool-release packages (but I have PoC).
- Our docker images are in some unclear state (the link is to discussion, not about per-push / per-release deployments).
Testing
- Not upgraded mode is not tested.
- No tests for net.box and _vcollation bug (it's my debt).
- Performance testing: no powerful owner.
- Back box testing: no deep understanding of workloads.
- Perf. testing in docker, what a hell.
- bench.tarantool.org is far from being usable as everyday tool
- Not all tests are run in out-of-source build.
- No per-push testing of modules and connectors.
- It is almost done now for particular subset of modules and connectors. Nice!
- No testing of tarantoolctl rocks.
- test-run way to assign a port involves races.
- We should consider support of luatest test files in
test-run.
- It was implemented, but significant work is necessary on the luatest side (tracked in luatest issues).
- test-run is not convenient for writing a multi instance test.
Documentation
- Still no full merger documentation.
- Binary protocol documentation is far from being convenient for a connector developer.
- No good documentation how to implement a module.
- No good documentation how to implement a connector (pitfalls and so).
- No recipes how to work with RPM / Deb packages (different scenarious).
- Unclear guarantees about upgrade process (it is not based on testing, right?).
Code health
- No recipe to upgrade a partially upgraded instance.
- libcoro is old (Igor Munkin said that there were ARM related changes).
- libyaml is relatively old.
- Stalled PRs and issues in many repositories (modules, connectors).
- Things going to be better (we setup triage process for issues), but still far from looking nice. At least for pull requests.
- We should eventually upstream most of our patches to luarocks.
Recipes
Generate module.h documentation
Generate the HTML API documentation:
cmake .
make module_api
sed -e "s%@PROJECT_.\+_DIR@/%%" Doxyfile.API.in > Doxyfile.API
doxygen Doxyfile.API
Open the API documentation in a Web browser:
xdg-open doc/api/html/index.html