Skip to content

Commit 8098200

Browse files
committed
MINOR: global: add fd-hard-limit
1 parent d6c3e8f commit 8098200

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
@@ -264,6 +264,7 @@ func (p *configParser) getGlobalParser() *Parsers { //nolint: maintidx
264264
addParser(parser, &sequence, &simple.Number{Name: "maxsslconn"})
265265
addParser(parser, &sequence, &simple.Number{Name: "maxsslrate"})
266266
addParser(parser, &sequence, &simple.Number{Name: "maxzlibmem"})
267+
addParser(parser, &sequence, &simple.Number{Name: "fd-hard-limit"})
267268
addParser(parser, &sequence, &simple.String{Name: "pidfile"})
268269
addParser(parser, &sequence, &parsers.Socket{})
269270
addParser(parser, &sequence, &parsers.StatsTimeout{})

configuration/global.go

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

460+
fdHardLimit, err := parseInt64POption(p, "fd-hard-limit")
461+
if err != nil {
462+
return nil, err
463+
}
464+
if fdHardLimit != nil {
465+
isEmpty = false
466+
options.FdHardLimit = fdHardLimit
467+
}
468+
460469
noepoll, err := parseBoolOption(p, "noepoll")
461470
if err != nil {
462471
return nil, err
@@ -3022,6 +3031,10 @@ func serializePerformanceOptions(p parser.Parser, options *models.PerformanceOpt
30223031
return err
30233032
}
30243033

3034+
if err := serializeInt64POption(p, "fd-hard-limit", options.FdHardLimit); err != nil {
3035+
return err
3036+
}
3037+
30253038
if err := serializeBoolOption(p, "noepoll", options.Noepoll); err != nil {
30263039
return err
30273040
}

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
@@ -1311,6 +1311,9 @@ definitions:
13111311
properties:
13121312
busy_polling:
13131313
type: boolean
1314+
fd_hard_limit:
1315+
type: integer
1316+
x-nullable: true
13141317
max_spread_checks:
13151318
minimum: 0
13161319
type: integer

specification/models/configuration/global.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,6 +1117,9 @@ performance_options:
11171117
x-nullable: true
11181118
x-duration: true
11191119
x-default-unit: ms
1120+
fd_hard_limit:
1121+
type: integer
1122+
x-nullable: true
11201123
maxconn:
11211124
type: integer
11221125
x-display-name: Max Connections

test/configuration_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ global
275275
log 127.0.0.1:10002 sample 2:4 local0
276276
harden.reject-privileged-ports.tcp on
277277
profiling.tasks enabled
278+
fd-hard-limit 4096
278279
thread-hard-limit 77
279280
ssl-security-level 3
280281
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)