From de1dc459957f7a85fc42d810cf5c0151e77dc94c Mon Sep 17 00:00:00 2001 From: Clint Shryock Date: Fri, 10 May 2019 10:32:33 -0500 Subject: [PATCH] Update handleRollback to run both PeriodicFunc and handleWALRollback --- sdk/framework/backend.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sdk/framework/backend.go b/sdk/framework/backend.go index 1482826d2b3f..5a2b9ea6f822 100644 --- a/sdk/framework/backend.go +++ b/sdk/framework/backend.go @@ -418,16 +418,22 @@ func (b *Backend) handleRevokeRenew(ctx context.Context, req *logical.Request) ( } } -// handleRollback invokes the PeriodicFunc set on the backend. It also does a WAL rollback operation. +// handleRollback invokes the PeriodicFunc set on the backend. It also does a +// WAL rollback operation. func (b *Backend) handleRollback(ctx context.Context, req *logical.Request) (*logical.Response, error) { // Response is not expected from the periodic operation. + var merr error if b.PeriodicFunc != nil { if err := b.PeriodicFunc(ctx, req); err != nil { - return nil, err + merr = multierror.Append(merr, err) } } - return b.handleWALRollback(ctx, req) + resp, err := b.handleWALRollback(ctx, req) + if err != nil { + merr = multierror.Append(merr, err) + } + return resp, merr } func (b *Backend) handleAuthRenew(ctx context.Context, req *logical.Request) (*logical.Response, error) {