Hi Miroslav, I just discovered that the changes I've made to the totally broken variables API now broke opentracing because apparently it's using some of the variable code's internals for its own use:
https://github.com/haproxy/haproxy/runs/3545475810 That's annoying because unbreaking the API was already extremely complicated due to the global name table limitation that became a feature on its own, but now I see that some upper level code outside of vars/ is also making intimate use of that broken API (e.g. in flt_ot_vars_unset), and I have no idea what it tries to do nor why. Most of the breakage comes from all the undocumented functions flt_ot_vars_* but I don't even understand why this does not use the vars_* API that Lua, CLI and SPOE already use. Note that it doesn't seem that the breakage is large, so most likely we can figure together a few changes to perform to fix it, but reversing all that is quite a pain, and even if I went through the process of trying to build it I wouldn't know if what I'm doing works or not :-/ The changes that broke are in the following commit range which tries hard to minimize the visible changes: 10080716b..55f8a830d I would highly appreciate it if you could have a look, figure what needs to be done, if possible using the public vars API, otherwise that we discuss what needs to be extended, and if you could document these functions, because, to be honest, the following doesn't help me much: /*** * NAME * flt_ot_vars_get - * * ARGUMENTS * s - * scope - * prefix - * opt - * err - * * DESCRIPTION * - * * RETURN VALUE * - */ struct otc_text_map *flt_ot_vars_get(struct stream *s, const char *scope, const char *prefix, uint opt, char **err) Thanks, Willy