Skip to content

Commit c914b66

Browse files
oliwermjuraga
authored andcommitted
MINOR: add support for tune.lua.bool-sample-conversion
1 parent d490e9f commit c914b66

9 files changed

Lines changed: 89 additions & 5 deletions

File tree

config-parser/section-parsers.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,7 @@ func (p *configParser) getGlobalParser() *Parsers { //nolint: maintidx
311311
addParser(parser, &sequence, &simple.Time{Name: "tune.idletimer"})
312312
addParser(parser, &sequence, &simple.String{Name: "tune.listener.default-shards"})
313313
addParser(parser, &sequence, &simple.OnOff{Name: "tune.listener.multi-queue"})
314+
addParser(parser, &sequence, &simple.Word{Name: "tune.lua.bool-sample-conversion"})
314315
addParser(parser, &sequence, &simple.Number{Name: "tune.lua.forced-yield"})
315316
addParser(parser, &sequence, &simple.Number{Name: "tune.lua.maxmem"})
316317
addParser(parser, &sequence, &simple.Time{Name: "tune.lua.session-timeout"})

configuration/global.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1819,9 +1819,20 @@ func parseTuneBufferOptions(p parser.Parser) (*models.TuneBufferOptions, error)
18191819
func parseTuneLuaOptions(p parser.Parser) (*models.TuneLuaOptions, error) {
18201820
var intOption int64
18211821
var intPOption *int64
1822+
var strOption string
18221823
var err error
18231824
options := &models.TuneLuaOptions{}
18241825
isEmpty := true
1826+
1827+
strOption, err = parseStringOption(p, "tune.lua.bool-sample-conversion")
1828+
if err != nil {
1829+
return nil, err
1830+
}
1831+
if strOption != "" {
1832+
isEmpty = false
1833+
options.BoolSampleConversion = strOption
1834+
}
1835+
18251836
intOption, err = parseInt64Option(p, "tune.lua.forced-yield")
18261837
if err != nil {
18271838
return nil, err
@@ -1840,7 +1851,7 @@ func parseTuneLuaOptions(p parser.Parser) (*models.TuneLuaOptions, error) {
18401851
isEmpty = false
18411852
}
18421853

1843-
strOption, err := parseOnOffOption(p, "tune.lua.log.loggers")
1854+
strOption, err = parseOnOffOption(p, "tune.lua.log.loggers")
18441855
if err != nil {
18451856
return nil, err
18461857
}
@@ -3582,6 +3593,9 @@ func serializeTuneLuaOptions(p parser.Parser, options *models.TuneLuaOptions, co
35823593
if options == nil {
35833594
options = &models.TuneLuaOptions{}
35843595
}
3596+
if err := serializeStringOption(p, "tune.lua.bool-sample-conversion", options.BoolSampleConversion); err != nil {
3597+
return err
3598+
}
35853599
if err := serializeTimeoutOption(p, "tune.lua.burst-timeout", options.BurstTimeout, configOptions); err != nil {
35863600
return err
35873601
}

models/tune_lua_options.go

Lines changed: 51 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

models/tune_lua_options_compare.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

models/tune_lua_options_compare_test.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

specification/build/haproxy_spec.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1797,6 +1797,11 @@ definitions:
17971797
type: object
17981798
tune_lua_options:
17991799
properties:
1800+
bool_sample_conversion:
1801+
enum:
1802+
- normal
1803+
- pre-3.1-bug
1804+
type: string
18001805
burst_timeout:
18011806
minimum: 0
18021807
type: integer

specification/models/configuration/global.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -770,6 +770,9 @@ tune_ssl_options:
770770
tune_lua_options:
771771
type: object
772772
properties:
773+
bool_sample_conversion:
774+
type: string
775+
enum: ["normal", "pre-3.1-bug"]
773776
forced_yield:
774777
type: integer
775778
x-display-name: Lua Forced Yield

test/configuration_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ global
4343
cpu-set drop-core 5-9
4444
lua-prepend-path /usr/share/haproxy-lua/?/init.lua
4545
lua-prepend-path /usr/share/haproxy-lua/?.lua cpath
46-
lua-load /etc/foo.lua
47-
lua-load /etc/bar.lua
4846
h1-case-adjust-file /etc/headers.adjust
4947
h1-case-adjust host Host
5048
h1-case-adjust content-type Content-Type
@@ -77,6 +75,7 @@ global
7775
tune.idletimer 22
7876
tune.listener.default-shards by-process
7977
tune.listener.multi-queue on
78+
tune.lua.bool-sample-conversion normal
8079
tune.lua.forced-yield 23
8180
tune.lua.log.loggers on
8281
tune.lua.log.stderr auto
@@ -137,6 +136,8 @@ global
137136
busy-polling
138137
max-spread-checks 1ms
139138
close-spread-time 1s
139+
lua-load /etc/foo.lua
140+
lua-load /etc/bar.lua
140141
maxconnrate 2
141142
maxcomprate 3
142143
maxcompcpuusage 4

test/expected/structured.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,7 @@
398398
"bufsize_small": 8192
399399
},
400400
"tune_lua_options": {
401+
"bool_sample_conversion": "normal",
401402
"burst_timeout": 205,
402403
"forced_yield": 23,
403404
"log_loggers": "enabled",

0 commit comments

Comments
 (0)