Skip to content

Commit aab88b1

Browse files
committed
MINOR: global: add fd-hard-limit
1 parent 53b3e5a commit aab88b1

File tree

9 files changed

+37
-2
lines changed

9 files changed

+37
-2
lines changed

config-parser/section-parsers.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ func (p *configParser) getGlobalParser() *Parsers { //nolint: maintidx
256256
addParser(parser, &sequence, &simple.Number{Name: "maxsslconn"})
257257
addParser(parser, &sequence, &simple.Number{Name: "maxsslrate"})
258258
addParser(parser, &sequence, &simple.Number{Name: "maxzlibmem"})
259+
addParser(parser, &sequence, &simple.Number{Name: "fd-hard-limit"})
259260
addParser(parser, &sequence, &simple.String{Name: "pidfile"})
260261
addParser(parser, &sequence, &parsers.Socket{})
261262
addParser(parser, &sequence, &parsers.StatsTimeout{})

configuration/global.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,15 @@ func parsePerformanceOptions(p parser.Parser) (*models.PerformanceOptions, error
414414
options.Maxzlibmem = maxzlibmem
415415
}
416416

417+
fdHardLimit, err := parseInt64POption(p, "fd-hard-limit")
418+
if err != nil {
419+
return nil, err
420+
}
421+
if fdHardLimit != nil {
422+
isEmpty = false
423+
options.FdHardLimit = fdHardLimit
424+
}
425+
417426
noepoll, err := parseBoolOption(p, "noepoll")
418427
if err != nil {
419428
return nil, err
@@ -2860,6 +2869,10 @@ func serializePerformanceOptions(p parser.Parser, options *models.PerformanceOpt
28602869
return err
28612870
}
28622871

2872+
if err := serializeInt64POption(p, "fd-hard-limit", options.FdHardLimit); err != nil {
2873+
return err
2874+
}
2875+
28632876
if err := serializeBoolOption(p, "noepoll", options.Noepoll); err != nil {
28642877
return err
28652878
}

models/performance_options.go

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

models/performance_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/performance_options_compare_test.go

Lines changed: 4 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: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1258,6 +1258,9 @@ definitions:
12581258
properties:
12591259
busy_polling:
12601260
type: boolean
1261+
fd_hard_limit:
1262+
type: integer
1263+
x-nullable: true
12611264
max_spread_checks:
12621265
minimum: 0
12631266
type: integer

specification/models/configuration/global.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,6 +1014,9 @@ performance_options:
10141014
x-nullable: true
10151015
x-duration: true
10161016
x-default-unit: ms
1017+
fd_hard_limit:
1018+
type: integer
1019+
x-nullable: true
10171020
maxconn:
10181021
type: integer
10191022
x-display-name: Max Connections

test/configuration_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ global
265265
log 127.0.0.1:10002 sample 2:4 local0
266266
harden.reject-privileged-ports.tcp on
267267
profiling.tasks enabled
268+
fd-hard-limit 4096
268269
thread-hard-limit 77
269270
ssl-security-level 3
270271
http-err-codes 400,402-444,446-480,490 -450 +500

test/expected/structured.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"server_state_base": "/path",
4141
"server_state_file": "serverstatefile",
4242
"spread_checks": 10,
43+
"fd_hard_limit": 4096,
4344
"thread_hard_limit": 77
4445
},
4546
"ssl_options": {

0 commit comments

Comments
 (0)