Skip to content

Commit 29a3e4d

Browse files
committed
Add max file size config param
1 parent 5508282 commit 29a3e4d

File tree

8 files changed

+17
-3
lines changed

8 files changed

+17
-3
lines changed

internal/config/config.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,12 @@ func registerClientFlags(fs *flag.FlagSet) {
361361
DefFileChunkSize,
362362
"File chunk size in bytes.",
363363
)
364+
365+
fs.Uint32(
366+
ClientGRPCMaxFileSizeKey,
367+
DefMaxFileSize,
368+
"Max file size in bytes.",
369+
)
364370
}
365371

366372
func registerCommandFlags(fs *flag.FlagSet) {
@@ -696,6 +702,7 @@ func resolveClient() *Client {
696702
MaxMessageSize: viperInstance.GetInt(ClientGRPCMaxMessageSizeKey),
697703
MaxMessageReceiveSize: viperInstance.GetInt(ClientGRPCMaxMessageReceiveSizeKey),
698704
MaxMessageSendSize: viperInstance.GetInt(ClientGRPCMaxMessageSendSizeKey),
705+
MaxFileSize: viperInstance.GetUint32(ClientGRPCMaxFileSizeKey),
699706
FileChunkSize: viperInstance.GetUint32(ClientGRPCFileChunkSizeKey),
700707
},
701708
Backoff: &BackOff{

internal/config/config_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ func checkDefaultsClientValues(t *testing.T, viperInstance *viper.Viper) {
105105
assert.Equal(t, DefMaxMessageRecieveSize, viperInstance.GetInt(ClientGRPCMaxMessageReceiveSizeKey))
106106
assert.Equal(t, DefMaxMessageSendSize, viperInstance.GetInt(ClientGRPCMaxMessageSendSizeKey))
107107
assert.Equal(t, DefFileChunkSize, viperInstance.GetUint32(ClientGRPCFileChunkSizeKey))
108+
assert.Equal(t, DefMaxFileSize, viperInstance.GetUint32(ClientGRPCMaxFileSizeKey))
108109
assert.Equal(t, make(map[string]string), viperInstance.GetStringMapString(LabelsRootKey))
109110
}
110111

@@ -782,6 +783,7 @@ func createConfig() *Config {
782783
MaxMessageSize: 1048575,
783784
MaxMessageReceiveSize: 1048575,
784785
MaxMessageSendSize: 1048575,
786+
MaxFileSize: 485753,
785787
FileChunkSize: 48575,
786788
},
787789
Backoff: &BackOff{

internal/config/defaults.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const (
3030
DefMaxMessageSize = 0 // 0 = unset
3131
DefMaxMessageRecieveSize = 4194304 // default 4 MB
3232
DefMaxMessageSendSize = 4194304 // default 4 MB
33+
DefMaxFileSize uint32 = 3145728 // 3MB
3334
DefFileChunkSize uint32 = 2097152 // 2MB
3435

3536
// Client HTTP Settings

internal/config/flags.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ var (
3636
ClientGRPCMaxMessageSendSizeKey = pre(ClientRootKey) + "grpc_max_message_send_size"
3737
ClientGRPCMaxMessageReceiveSizeKey = pre(ClientRootKey) + "grpc_max_message_receive_size"
3838
ClientGRPCMaxMessageSizeKey = pre(ClientRootKey) + "grpc_max_message_size"
39+
ClientGRPCMaxFileSizeKey = pre(ClientRootKey) + "grpc_max_file_size"
3940
ClientGRPCFileChunkSizeKey = pre(ClientRootKey) + "grpc_file_chunk_size"
4041

4142
ClientBackoffInitialIntervalKey = pre(ClientRootKey) + "backoff_initial_interval"

internal/config/testdata/nginx-agent.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ client:
3535
max_message_size: 1048575
3636
max_message_receive_size: 1048575
3737
max_message_send_size: 1048575
38+
max_file_size: 485753
3839
file_chunk_size: 48575
3940
backoff:
4041
initial_interval: 200ms

internal/config/types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ type (
8686
MaxMessageSize int `yaml:"max_message_size" mapstructure:"max_message_size"`
8787
MaxMessageReceiveSize int `yaml:"max_message_receive_size" mapstructure:"max_message_receive_size"`
8888
MaxMessageSendSize int `yaml:"max_message_send_size" mapstructure:"max_message_send_size"`
89+
MaxFileSize uint32 `yaml:"max_file_size" mapstructure:"max_file_size"`
8990
FileChunkSize uint32 `yaml:"file_chunk_size" mapstructure:"file_chunk_size"`
9091
}
9192

internal/file/file_manager_service.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,10 +246,10 @@ func (fms *FileManagerService) UpdateFile(
246246

247247
slog.DebugContext(ctx, "Checking file size",
248248
"file_size", fileToUpdate.GetFileMeta().GetSize(),
249-
"max_message_send_size", int64(fms.agentConfig.Client.Grpc.MaxMessageSendSize),
249+
"max_file_size", int64(fms.agentConfig.Client.Grpc.MaxFileSize),
250250
)
251251

252-
if fileToUpdate.GetFileMeta().GetSize() <= int64(fms.agentConfig.Client.Grpc.MaxMessageSendSize) {
252+
if fileToUpdate.GetFileMeta().GetSize() <= int64(fms.agentConfig.Client.Grpc.MaxFileSize) {
253253
return fms.sendUpdateFileRequest(ctx, fileToUpdate)
254254
}
255255

@@ -614,7 +614,7 @@ func (fms *FileManagerService) executeFileActions(ctx context.Context) error {
614614

615615
func (fms *FileManagerService) fileUpdate(ctx context.Context, file *mpi.File) error {
616616
slog.DebugContext(ctx, "Updating file", "file", file.GetFileMeta().GetName())
617-
if file.GetFileMeta().GetSize() <= int64(fms.agentConfig.Client.Grpc.MaxMessageReceiveSize) {
617+
if file.GetFileMeta().GetSize() <= int64(fms.agentConfig.Client.Grpc.MaxFileSize) {
618618
return fms.file(ctx, file)
619619
}
620620

test/types/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ func AgentConfig() *config.Config {
5050
},
5151
MaxMessageReceiveSize: 1,
5252
MaxMessageSendSize: 1,
53+
MaxFileSize: 1,
5354
FileChunkSize: 1,
5455
},
5556
Backoff: &config.BackOff{

0 commit comments

Comments
 (0)