- Oct 27, 2020
-
-
Petr Špaček authored
Error handling inside the test was incorrent and a detected error would blow up the test routine. Related: !1011, 3f5a826d
-
-
Petr Špaček authored
We don't have leader instance anymore, so each instance independently provides Graphite statistics. This commit also changes default Graphite prefix to solve problem with conflicting instance names.
-
Petr Špaček authored
It now contains either content of SYSTEMD_INSTANCE environment variable or stringified version of getpid() value. Main motivation is that the old worker.id was broken on systemd, i.e. the default installation. Related: #631
-
- Oct 26, 2020
-
-
Fixup for c0b5faf2.
-
We don't have leader instance anymore, so any instance can provide Prometheus statistics. For performance reasons an instance does not store past statistics when no client is connected to HTTP socket. As a consequence chart in web interface is empty when client loads the page and then gradually chart fills up.
-
-
-
Obviously this is is racy and cannot be relied upon. Caller still has to handle connection errors.
-
-
New map() creates control/ sockets in current working directory so it pollutes worktree when developers run it in worktree. I've also added files with ephemeral certificates and pytests test report which were missing as well.
-
Three instances send commands and DNS queries to each other.
-
Control protocol uses \n as command delimiter so we cannot allow \n inside commands. Users should be able to Lua-escape \n with \010.
-
Typical example of unrepresentable message is a Lua error. E.g. error() called from kresc would lead to NULL message.
-
-
-
For now we still attempt to support systems without lua-cqueues, e.g. Ubuntu 16.04. lua-http depends on lua-cqueues so the test for availability of lua-http at the beginning of kr_https_fetch() should cover lua-cqueues as well.
-
We were exceeding CI time limit while running config tests under Valgrind so let's see if smaller number of tests will get us through CI.
-
-
-
map() command on leader instance now: - detects call errors on followers - detects unsupported number of return values - detects unsupported data types which cannot be serialized - keeps nil return values (signaled by table counter "n") Fixes: #662
-
Let's detect syntax errors before sending the command to all instances.
-
Helper functions for handling variable length arrays with nil values.
-
-
map() now depends on presence of control sockets, and by default config tests are executed with KRESD_NO_LISTEN=1 env var which prevents control sockets from being created. Tests for features which depend on map() now explicitly create their own control socket.
-
Previously exit trap executed command "kill -9" even if there were no leftover processes and this lead to clutter in logs because kill complained about missing arguments. As a bonus the cleanup routine now prints information about leftover processes.
-
Reasons: - It allows to run several kresd instances and use map() without worrying about instance parameters. - It removes special case from map(). Proper functionality depends on changes in MR !1011.
-
-
Serializes: boolean, nil, number, string, table. Skips all other types (functions, cdata, thread ...) and repeated references to tables. Resulting string should Lua-evaluate to identical objects.
-
This change allows map() to work with systemd integration. As a bonus the new client implementation is based on Lua cqueues allows caller to wrap map() in worker.corroutine() and get asynchronous execution/avoid blocking main loop. Currently socket communication does not employ timeouts so a hang instance will lead to hang map() call. This does not affect query processing _if_ map() is being run in worker.corroutine. Fixes: #554 Fixes: #620
-
- Oct 23, 2020
-
-
Tomas Krizek authored
daemon: lower EDNS buffer size to 1232 Closes #300 and #538 See merge request !920
-
Note: this commits affects just the small respdiffs, not the big ones.
-
-
-
- Oct 21, 2020
-
-
Petr Špaček authored
fix SERVFAIL in *FORWARD modes with certain CNAME setup Closes #614 See merge request !1070
-
It failed on a CNAME to a sibling name that's a zone cut. Fixed by a minimalistic approach - tweaking the conditions to always ask each CNAME step separately when forwarding.
-
Vladimír Čunát authored
-
Vladimír Čunát authored
For now I was too afraid to use "multi-flag" kr_request::state, so I kept it at _FAIL; anyone can recognize it by NULL answer anyway. Lua wrapper: using exception was considered but didn't seem good. I utilized the fact that modules can return nil meaning no state change.
-
Vladimír Čunát authored
Resolves a FIXME, and this way of doing AD should be better/safer. (Lower likelihood of accidentally leaving it on in some situation.) GC test: the record is inserted manually with _SECURE rank but without signatures. I think it's better to return AD flag in that edge case.
-
Vladimír Čunát authored
FIXME: see FIXMEs in diff, document the API change, re-review.
-