Skip to content

Commit 30e9156

Browse files
committed
MINOR: global: add fd-hard-limit
1 parent 8ee6b63 commit 30e9156

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
@@ -249,6 +249,7 @@ func (p *configParser) getGlobalParser() *Parsers { //nolint: maintidx
249249
addParser(parser, &sequence, &simple.Number{Name: "maxsslconn"})
250250
addParser(parser, &sequence, &simple.Number{Name: "maxsslrate"})
251251
addParser(parser, &sequence, &simple.Number{Name: "maxzlibmem"})
252+
addParser(parser, &sequence, &simple.Number{Name: "fd-hard-limit"})
252253
addParser(parser, &sequence, &simple.String{Name: "pidfile"})
253254
addParser(parser, &sequence, &parsers.Socket{})
254255
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
@@ -2790,6 +2799,10 @@ func serializePerformanceOptions(p parser.Parser, options *models.PerformanceOpt
27902799
return err
27912800
}
27922801

2802+
if err := serializeInt64POption(p, "fd-hard-limit", options.FdHardLimit); err != nil {
2803+
return err
2804+
}
2805+
27932806
if err := serializeBoolOption(p, "noepoll", options.Noepoll); err != nil {
27942807
return err
27952808
}

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
@@ -1128,6 +1128,9 @@ definitions:
11281128
properties:
11291129
busy_polling:
11301130
type: boolean
1131+
fd_hard_limit:
1132+
type: integer
1133+
x-nullable: true
11311134
max_spread_checks:
11321135
minimum: 0
11331136
type: integer

specification/models/configuration/global.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,9 @@ performance_options:
956956
x-nullable: true
957957
x-duration: true
958958
x-default-unit: ms
959+
fd_hard_limit:
960+
type: integer
961+
x-nullable: true
959962
maxconn:
960963
type: integer
961964
x-display-name: Max Connections

test/configuration_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ global
257257
log 127.0.0.1:10002 sample 2:4 local0
258258
harden.reject-privileged-ports.tcp on
259259
profiling.tasks enabled
260+
fd-hard-limit 4096
260261
thread-hard-limit 77
261262
ssl-security-level 3
262263
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)