forked from TrueCloudLab/frostfs-node
[#1659] audit: Fix duplicated request logs
When we do `object put` with audit enabled we get several entries in logs: with and without object id. `object put` request is logged in 2 places: 1. `(*auditPutStream) CloseAndRecv()` - when the client closes the request stream or when stream gets aborted. 2. `(*auditPutStream) Send()` - when stream was NOT aborted. `Send()` does error check for `ErrAbortStream` because if there is any other error - CloseAndRecv will not be called and there won't be any audit log about failed request. It led to logging on every object chunck put, even if `err == nil`. Added check for `err != nil` in `Send()` to fix it. Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
This commit is contained in:
parent
4c8f9580a1
commit
471aeeaff3
1 changed files with 1 additions and 1 deletions
|
@ -163,7 +163,7 @@ func (a *auditPutStream) Send(ctx context.Context, req *object.PutRequest) error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
a.failed = true
|
a.failed = true
|
||||||
}
|
}
|
||||||
if !errors.Is(err, util.ErrAbortStream) { // CloseAndRecv will not be called, so log here
|
if err != nil && !errors.Is(err, util.ErrAbortStream) { // CloseAndRecv will not be called, so log here
|
||||||
audit.LogRequestWithKey(ctx, a.log, objectGRPC.ObjectService_Put_FullMethodName, a.key,
|
audit.LogRequestWithKey(ctx, a.log, objectGRPC.ObjectService_Put_FullMethodName, a.key,
|
||||||
audit.TargetFromContainerIDObjectID(a.containerID, a.objectID),
|
audit.TargetFromContainerIDObjectID(a.containerID, a.objectID),
|
||||||
!a.failed)
|
!a.failed)
|
||||||
|
|
Loading…
Add table
Reference in a new issue