- Oct 26, 2020
-
-
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
-
- Aug 06, 2020
-
-
Vladimír Čunát authored
Lots of lines affected, but it gets slightly simpler.
-
- Aug 05, 2020
-
-
Vladimír Čunát authored
In particular this gets rid of last light user data inside kresd. It was still causing problems on some systems, for example Debian Sid. The error was the same: "bad light userdata pointer" from luajit, but note that the problem can still be triggered by lua libraries, e.g. cqueues.
-
- Feb 25, 2020
-
-
Long GNU GPLv3 boilderplate was automatically replaced with machine readable tag.
-
- Jan 24, 2020
-
-
Tomas Krizek authored
-
- Jan 17, 2020
-
-
Tomas Krizek authored
-
- Dec 19, 2019
-
-
- Mar 12, 2019
-
-
Tomas Krizek authored
-
- Feb 07, 2019
-
-
- Oct 12, 2018
-
-
Vladimír Čunát authored
Also don't allocate much memory for cookies if we compile them out.
-
Vladimír Čunát authored
The support hasn't landed in libuv over all the years, and we've been still reserving memory for it in advance. Also comment on the singleton buffer usage.
-
- Mar 28, 2018
-
-
- Jan 23, 2018
-
-
Arguments --keyfile, -k for managed mode and --keyfile-ro, -K for unmanaged (readonly) mode. Automatic setting based on the file permission is removed because it was confusing and could easily lead to state where automatic update does not happen because of unexpected file permissions. Check if folder is writeable was moved into Lua code. Default unmanaged keyfile path can be specified at compile time with option KEYFILE_DEFAULT. This default configuration can be disabled in configuration file with trust_anchors.keyfile_default = nil.
-
Vladimír Čunát authored
Symbols not marked by KR_EXPORT shouldn't be visible outside the same output binary (e.g. sbin/kresd or lib/kdns_modules/hints.so) Also mark `engine_hint_root_file`.
-
- Jan 18, 2018
-
-
Marek Vavruša authored
-
- Jan 12, 2018
-
-
Marek Vavruša authored
this checks things such as inconsistent declarations and definitions
-
- Sep 21, 2017
-
-
Vladimír Čunát authored
"lua_" in name is not appropriate, as the function does no lua stuff anymore, so let's unify it to "engine_".
-
- Sep 11, 2017
-
-
Vladimír Čunát authored
- expose the function as hints.root_file - use the same filename as Debian - remove the unneeded script - docs and some nitpicks
-
- Jun 26, 2017
-
-
Vladimír Čunát authored
... even if rundir isn't specified. No other changes in semantics. Before this a typo in config path would pass silently.
-
- May 26, 2017
-
-
Ondřej Surý authored
-
- Feb 28, 2017
-
-
engine_cmd() doesn't print the error() exceptions thrown from lua; it only leaves the message on lua stack. (cherry picked from commit a316b9f7)
-
- Feb 13, 2017
-
-
Vladimír Čunát authored
engine_cmd() doesn't print the error() exceptions thrown from lua; it only leaves the message on lua stack.
-
- Jan 25, 2017
-
-
Ondřej Surý authored
-
- Nov 12, 2016
-
-
Ondřej Surý authored
-
- Aug 11, 2016
-
-
Karel Slaný authored
-
Karel Slaný authored
-
Karel Slaný authored
-
- Jul 16, 2016
-
-
Daniel Kahn Gillmor authored
-
- Jul 06, 2016
-
-
Marek Vavruša authored
forks are connected with IPC pipes to process group leader and can execute expressions on its behalf. so running commands over all workers is easy now: > hostname() -- single localhost > map 'hostname()' -- all localhost localhost localhost
-
- May 20, 2016
-
-
Marek Vavruša authored
this change introduces new API for cache backends, that is a subset of knot_db_api_t from libknot with several cache-specific operations major changes are: * merged 'cachectl' module into 'cache' as it is 99% default-on and it simplifies things * not transaction oriented, transactions may be reused and cached for higher performance * scatter/gather API, this is important for latency and performance of non-local backends like Redis * faster and reliable cache clearing * cache-specific operations (prefix scan, ...) in the API not hacked in * simpler code for both backends and caller
-
- May 03, 2016
-
-
Marek Vavruša authored
* daemon now processes messages over TCP stream out-of-order and concurrently * support for TCP_DEFER_ACCEPT * support for TCP Fast-Open * there are now deadlines for TCP for idle/slow streams (to prevent slowloris; pruning) * there is now per-request limit on timeouts (each request is allowed 4 timeouts before bailing) * faster request closing, unified retry/timeout timers * rare race condition in timer closing fixed
-
- Apr 18, 2016
-
-
Marek Vavruša authored
an internal timer walks RTT timer periodically and clears entries with bad results every 5 minutes. this means that a timeouted entry penalty is capped to that interval, making sure that the bad reputation doesn't last forever
-
Marek Vavruša authored
resolver will always attempt to contact upstreams known to be bad if it's not busy. this fixes a problem on low-volume resolvers where a short connection outage could make resolvers deny resolving queries even after the connection is restored
-
- Jan 30, 2016
-
-
Marek Vavruša authored
breathe failed to process the typedef thinking the macro expansion was a function pointer
-
- Dec 17, 2015
-
-
Marek Vavruša authored
this is not going to be backwards compatible change, but it will be the first tagged libknot release sufficient for resolver
-
- Dec 03, 2015
-
-
Marek Vavruša authored
-
- Nov 27, 2015
-
-
Marek Vavruša authored
this doesn’t guarantee valid cache after crash, but then it’s a cache. most of the time on cold cache is spent on fsyncing as it’s done per each commit (=> resolved query)
-
- Oct 18, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
-
- Jul 14, 2015
-
-
Marek Vavruša authored
an average request from cache requires ~12k, an average iterative request 16-64k this reduces allocation cost when there are now pools on the freelist
-