fix(emqx_mgmt_data_backup): remove an uploaded backup file if it's not valid
This commit is contained in:
parent
34c3c4e892
commit
40eccb10d6
|
@ -315,8 +315,10 @@ do_upload(BackupFileNameStr, BackupFileContent) ->
|
|||
catch
|
||||
error:{badmatch, {error, Reason}}:Stack ->
|
||||
?SLOG(error, #{msg => "emqx_data_upload_failed", reason => Reason, stacktrace => Stack}),
|
||||
_ = file:delete(FilePath),
|
||||
{error, Reason};
|
||||
Class:Reason:Stack ->
|
||||
_ = file:delete(FilePath),
|
||||
?SLOG(error, #{
|
||||
msg => "emqx_data_upload_failed",
|
||||
exception => Class,
|
||||
|
|
|
@ -199,7 +199,11 @@ upload_backup_test(Config, BackupName) ->
|
|||
?assertEqual(ok, upload_backup(?NODE3_PORT, Auth, UploadFile)),
|
||||
%% This file was specially forged to pass upload validation bat fail on import
|
||||
?assertEqual(ok, upload_backup(?NODE2_PORT, Auth, BadImportFile)),
|
||||
?assertEqual({error, bad_request}, upload_backup(?NODE1_PORT, Auth, BadUploadFile)).
|
||||
?assertEqual({error, bad_request}, upload_backup(?NODE1_PORT, Auth, BadUploadFile)),
|
||||
%% Invalid file must not be kept
|
||||
?assertMatch(
|
||||
{error, {_, 404, _}}, backup_file_op(get, ?NODE1_PORT, Auth, ?BAD_UPLOAD_BACKUP, [])
|
||||
).
|
||||
|
||||
import_backup_test(Config, BackupName) ->
|
||||
Auth = ?config(auth, Config),
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Do not save invalid uploaded backup files.
|
Loading…
Reference in New Issue